数据库黑洞建立

mysql-blackhole定义

任何写入到此引擎的数据均会被丢弃掉, 不做实际存储;Select语句的内容永远是空。

他会丢弃所有的插入的数据,服务器会记录下Blackhole表的日志,所以可以用于复制数据到备份数据库。

使用场景

1)验证dump file语法的正确性

2)以使用blackhole引擎来检测binlog功能所需要的额外负载

3)充当日志服务器

安装流程:

1.yum install gcc*

2.安装cmake
tar xf cmake-2.8.7.tar.gz
cd cmake-2.8.7
./configure
make
make install

  1. 安装mysql
    groupadd mysql
    useradd -s /sbin/nologin -g mysql -M mysql
    mkdir -p /usr/local/mysql/data
    chown -R mysql /usr/local/mysql

    tar xf mysql-5.5.39.tar.gz
    cd mysql-5.5.39
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    报错: 缺少 yum install ncurses-devel 然后删除CMakeCache.txt
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BLACKHOLE_STORAGE_ENGINE=1

    make
    make install

4.相关配置操作:
cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf
echo "datadir = /usr/local/mysql/data" >>/etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --user=mysql
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig mysqld on

vi /etc/rc.d/init.d/mysqld
修改
basedir=/usr/local/mysql 安装路径
datadir=/usr/local/mysql/data 数据库路径

vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql

mysqladmin -u root password "123456" 设置密码

补充:
一.BLACKHOLE总结

1.BLACKHOLE支持所有类型的索引
2.BLACKHOLE 表不存储数据,如果复制基于SBR(binlog格式statment),语句可以记录并在从库执行;如果复制为RBR(binlog格式row)、MBR(binblog格式mix),UPDATE及DELETE操作将会跳过,不会记录也从库不执行。
3.Insert触发器可以正常使用,Update、Delete触发器因为不存储数据不能触发,FOR EACH ROW 也不能触发。
4.BLACKHOLE 表Auto Increment字段不会自动递增,也不保留自增字段的状态
5.结合复制replicate-do和replicate-ignore规则,可使用BLACKHOLE当做一个分发主服务器
6.可用来验证转储文件语法
7.测试binlog的开销量,通过对比 BLACKHOLE 与 不启动 binlog的性能
8.可能被用来查找与存储引擎自身不相关的性能瓶颈

二.查看数据库是否支持黑洞引擎
mysql>show engines;
如果不存在黑洞引擎,请按下面命令安装:
mysql> INSTALL PLUGIN blackhole SONAME 'ha_blackhole.so';

你可能感兴趣的:(数据库黑洞建立)