MySQL主从配置
[font=Helvetica,]MySQL主从配置(同样适用cluster版,可在ndbcluster的前置节点设为Master,添加Slave节点)
[font=Helvetica,] 1、安装相同版本的MySQL
[font=Helvetica,] Master:mysql1,192.168.10.20
[font=Helvetica,] Slave :mysql2,192.168.10.21
[font=Helvetica,] 2、Master上添加复制用户
[font=Helvetica,] mysql> grant reload,super,replication slave on *.* to backup@'192.168.10.21' identified by 'backup';
[font=Helvetica,] 3、配置Master
[font=Helvetica,] vi /etc/my.cnf (同步/usr/my.cnf)
[font=Helvetica,] 添加如下行:
[font=Helvetica,] log_bin = mysql-bin
[font=Helvetica,] server_id = 1
[font=Helvetica,] binlog_do_db = mysql (选择要写bin_log的库,不加表示所有库都记录bin_log)
[font=Helvetica,] binlog_ignore_db = mysql (选择不写bin_log的库)
[font=Helvetica,] 4、配置Slave
[font=Helvetica,] vi /etc/my.cnf (同步/usr/my.cnf)
[font=Helvetica,] 添加如下行:
[font=Helvetica,] log_bin = mysql-bin
[font=Helvetica,] server_id = 2
[font=Helvetica,] replicate_do_db = test (选择要复制的库,不加表示复制所有库)
[font=Helvetica,] binlog_do_db = test (选择要写bin_log的库,多个库可以写多行,不加表示所有库都记录bin_log)
[font=Helvetica,] binlog_ignore_db = mysql (选择不写bin_log的库)
[font=Helvetica,] relay_log = mysql-relay-bin (复制日志定义)
[font=Helvetica,] log_slave_updates = 1 (定义复制事件也写bin_log)
[font=Helvetica,] read_only = 1 (设置从库只读,对没有super权限的普通用户有效)
[font=Helvetica,] 5、配置完成,重启主从的mysql服务
[font=Helvetica,] service mysql restart
[font=Helvetica,] 6、Slave开启复制
[font=Helvetica,] mysql> change master to master_host='192.168.10.20',master_user='backup',master_password='backup',
[font=Helvetica,] master_port=2274,master_log_file='mysql-bin.000001',master_log_pos=0;
[font=Helvetica,] mysql> start slave;
[font=Helvetica,]常用语句:show slave status\G , show master status\G ,
[font=Helvetica,] start slave; stop slave;
[font=Helvetica,] reset master; reset slave;
[font=Helvetica,]注意事项:1、确定主从数据一致后,可使用reset master/slave清除过多的bin_log/slave_relay_log
[font=Helvetica,] 2、ndbcluster作为主时,Slave若非ndb引擎,会出现部分统计信息表在从库没有,就需要针对性的进行库或表忽略