一、主从数据库都新建一个用户如mysync
1、创建新用户:mysync 密码:Abc123,限制IP段登录,并且只对testsync数据库有增删改查权限
CREATE USER ‘mysync’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘Abc123’;
grant select,insert,update,delete on testsync.* to ‘mysync’@’192.168.42.%’ with grant option;
flush privileges;
2、修改主(master)数据库my.cnf配置
打开主服务器。去修改配置文件,设置日志文件名称和服务器ID,以及需要复制的数据库添加binlog日志,设置ID
server-id = 5 #本机序号
log-bin = mysql-bin-1 #开启binlog
sync_binlog = 1 #每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设置。
binlog_checksum = none
binlog_format = mixed #binbog模式为混合模式
slave-skip-errors = all #跳过错误,继续执行复制操作
binlog-do-db=testsync #同步的数据库
重启,进入mysql命令行
show master status; //查看作为master的状态
其中binlog-do-db就是刚才配置的binlog-do-db,而File和Position要记着,后面配置从库(slave)要用到
3、修改从(slave)数据库my.cnf配置
server-id = 6 #本机序号,不能为1/主库ID
log-bin = mysql-bin-1 #开启binlog
sync_binlog = 1 #每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设置
binlog_checksum = none
binlog_format = mixed #binbog模式为混合模式
replicate-do-db=testsync //改为同步的数据库
log-slave-updates=1 #从库一定要加上
重启,进入mysql命令行
输入stop slave;
输入:(注意:以下的换行在命令行输入时真的要回车换行,有些行有逗号也真的要输入)
change master to
master_host=’192.168.42.5′,
master_user=’testsync ‘,
master_password=’Abc123′,
master_log_file=’mysql-bin-1.000008′,
master_log_pos=151;
其中master_host是master的ip,master_user和master_password是master库用于同步的用户和密码,master_log_file和master_log_pos都是master的信息(参考master图)
启动从库
start slave;
重启数据库
登录数据库使用命令查看作为slave的配置和状态,其中Slave_IO_Running和Slave_SQL_Running值应为Yes
show slave status/G
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/273466.html