环境设定
主: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;
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
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,请根据相应错误信息进行排查