mysql主从同步配置方法

 每日运维   2021-04-30 13:49   94 人阅读  0 条评论

环境设定

主:192.168.95.2

从:192.168.95.3

数据库:nn_cms

初始化安装配置方法:

说明:下列步骤,请从上至下依次执行、标注为"主"的,即表示在主服务执行相应的指令,标注为"从"的,表示在从服务器执行相应指令

主数据库

1、编辑配置文件,修改如下配置

server-id = 10 //数据库ID号
log-slave-updates //把更新的记录写到二进制文件中;

2、登入mysql,查看master状态,并记录标红的内容:show master status\G;

image.png

3、创建用于同步的帐号

grant replication slave on *.* to 'replication'@'从库IP地址' identified by '********';

4、重启数据库   

 /etc/init.d/mysqld restart

从数据库

1、修改配置文件

server-id = 20 //数据库ID号,一定不要和主ID相同
log-slave-updates //把更新的记录写到二进制文件中;

2、重启数据库

/etc/init.d/mysqld restart

3、更改Slave连接信息

1、执行下列语句:

change master to master_log_file='mysql-bin.000008', master_log_pos=107,master_host='192.168.95.2',master_port=XXX,master_user='XXX',master_password='XXX';
start slave;

4、状态检查

1、执行:

show slave status\G;

检查:IO threading和SQL Threading 是否为running, 如果是即主从同步正常

如其它某一个不为running,请根据相应错误信息进行排查



主库已有数据配置方法

主数据库

1、编辑配置文件,修改如下配置

server-id = 10 //数据库ID号
binlog-ignore-db=mysql //不同步的二进制数据库名;这个同步后听说很麻烦,我没有同步;
log-slave-updates //把更新的记录写到二进制文件中;

2、创建用于同步的帐号

grant replication slave on *.* to 'replication'@'从库IP地址' identified by '********';

3、重启数据库

/etc/init.d/mysqld restart

4、导出需要同步的数据库(仅以nn_cms举例)

mysqldump -uxxx -pxxx --master-data=2 nn_cms >nn_cms.sql

导出时注意添加 --master-data=2参数,以便将bin-log信息记录在导出的文件中

从数据库

1、修改配置文件

server-id = 20 //数据库ID号,一定不要和主ID相同
log-slave-updates //把更新的记录写到二进制文件中;

2、重启数据库

/etc/init.d/mysqld restart

3、将主库备份出来的数据导入从库

use 库名;
source sql文件路径;

4、更改Slave连接信息

1、使用more 查看备份的文件nn_cms.sql,查找 CHANGE MASTER TO MASTER_LOG_FILE 内容,记录MASTER_LOG_FILE和MASTER_LOG_POS

image.png

2、执行下列语句:

change master to master_log_file='xxxx', master_log_pos=xxx,master_host='192.168.95.2',master_port=XXX,master_user='XXX',master_password='XXX';
start slave

4、状态检查

show slave status\G;

检查:IO threading和SQL Threading 是否为running, 如果是即主从同步正常

如其它某一个不为running,请根据相应错误信息进行排查

本文地址:https://linux365.cn/post/32.html
版权声明:本文为原创文章,版权归 每日运维 所有,欢迎分享本文,转载请保留出处!

评论已关闭!