mysql主从同步设置 主mysql服务器a:192.168.1.3 从mysql服务器b:192.168.1.4 ? 1、编辑a的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加 ? log-bin=mysql-bin //开启mysql二进制日志server-id=1 //服务器id不能重复binlog-do-db=lsnphp //需要主从同步的
mysql主从同步设置主mysql服务器a:192.168.1.3
从mysql服务器b:192.168.1.4
?
1、编辑a的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加
?
log-bin=mysql-bin //开启mysql二进制日志 server-id=1 //服务器id不能重复 binlog-do-db=lsnphp //需要主从同步的数据库,需要同步多个数据库,复制多次这个参数 binlog-ignore-db=mysql //不需要主从同步的数据库 expire-logs-days = 10 //二进制日志保留时间?
2、在 a 上添加一个用于主从同步的帐号:
?
grant replication slave on *.* to 'rep1'@'192.168.1.4' identified by '123456';?
3、重启mysql
?
/etc/init.d/mysql restart?
4、登录mysql,将数据库设置为只读模式:
?
flush tables with read lock;?
5、执行下面命令,记录下file及position的值
?
show master status;?
6、导出需要备份的数据库
?
mysqldumop -uroot -ppwd lsnphp > /home/sqlbak/lsnphp.sql?
7、编辑b的my.cnf,一般在/etc/my.cnf,在[mysqld]下面添加
?
server-id=2 //服务器id不能重复 replicate-do-db=lsnphp //需要做主从同步的数据库 replicate-ignore-db=mysql //不需要同步的数据库?
?
8、在b服务器上导入备份数据
?
set names utf8; source /home/sqlbak/lsnphp.php;?
9、重启b服务器的mysql服务
?
10、登录b服务器,执行下面的命令,设置连接信息,file及position的值是之前记录下来,position的值没有单引号,其他的值要单引号:
?
change master to master_host='192.168.1.3', master_user='rep1', master_password='123456', master_log_file='file的值', master_log_pos=position的值;?
11、启动从库连接,执行下面的命令:
?
start slave; //启动从库连接?
12、查看从库状态:
?
show slave statusg;?
13、到这里mysql的主从同步设置就完成了,可以在主服务器上插入一条记录,然后去从服务器上验证下是否已经同步。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!