mysql自动批处理制作主从同步需要的语句
MASTER
开启主服务器的 binlog开关和设置server-id 然后重启mysql服务
vim /etc/my.cnf
[mysqld]
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
# 不同步哪些数据库
binlog-ignore-db= mysql
binlog-ignore-db= test
binlog-ignore-db= information_schema
# 只同步哪些数据库,除此之外,其他不同步
binlog-do-db=game
创建用于同步的用户账号
mysql -u root -proot #登陆主库
mysql> GRANT REPLICATION SLAVE ON *.* TO 'liuge'@'%' IDENTIFIED BY '123456'; #创建用户并分配从库复制权限
mysql> flush privileges; #刷新权限
mysql> show master status\G #查看master的状态 #Position不应该为0
mysql> show processlist\G #查看全部运行的线程
SLAVE
设置从服务器的server-id 然后重启mysql服务
vim /etc/my.cnf
[mysqld]
server-id = 2
mysql -u root -proot #登陆从库
mysql> stop slave; #关闭同步
mysql> reset slave; #重置
mysql> CHANGE MASTER TO MASTER_HOST='192.168.2.102',MASTER_PORT=3306,MASTER_USER='liuge', MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4269; #设置同步参数
mysql> start slave; #开启同步
mysql> show slave status\G #查看是否配置成功
Slave_IO_Running: Yes Slave_SQL_Running: Yes
#如果从库的Slave_SQL_Running为NO
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
主从同步总结
①主库有一个线程IO线程完成,从库由两个线程I/O(取log)和SQL(读log)线程完成
②要在从库上配置IP、端口、用户名、密码、连接的位置以及POS点
注意:开启之前主库要把同步点之前的数据放到从库上
③开启之前主从库数据一致,基于某个点一致
④开启之前要在主库建立从库同步账号
⑤开启之前主库要开启binlog开关否则无法实现同步
⑥从库打开开关的过程就是两个线程工作的过程
网友评论