Mysql主从复制
主从复制:主库授权从库远程链接,读取binlog日志并更新到本地数据库的过程;主库写数据后,从库会自动同步过来(从库跟着主库变);
- 找两台Mysql数据库服务器,一台作为master主服务器,一台作为slave从服务器
- 分别编辑Mysql主从服务器配置文件
vi /etc/my.cnf
Mysql版本5.7服务器添加以下配置
从服务器中server-id=1 #服务器ID log-bin=mysql-bin #开启mysql日志,记录mysql操作命令 gtid_mode=on #开启gitd复制,MySQL5.7可开启此功能 enforce_gtid_consistency=on #启动gitd复制,运行语句限制,MySQL5.7可开启此功能 #binlog-do-db=mydata #需要同步的数据库,可单独同步一个数据库 #binlog-ignore-db=notdata #需要忽略的数据库
server-id=2
不能与主服务器server-id=1
相同 - 如果配置了gitd_mode=on模式,可重启服务器,使用
show variables like "%gtid%";
命令查看状态
- 使用
mysql -uroot -p
进入主服务器MySQL命令行,执行
grant replication slave on *.* to 'tongbu'@'%' identified by '123456';
创建一个拥有replication
权限的用户tongbu
授权所有地址,密码为123456
- 使用
mysql -uroot -p
进入从服务器MySQL命令行,执行
关联主服务器,并开启change master to master_host='11.22.33.44',master_port=13306,master_user='tongbu',master_password='123456',master_auto_position=1; start slave;
slave
- 关闭从服务器,重启主服务器,再开启从服务器,可使用MySQL命令行查看状态
也可关闭配置show slave status\G;
stop slave;