MySQL数据同步(一主多从)

匿名 (未验证) 提交于 2019-12-02 22:02:20

MySQL数据同步一主多从和一主一从原理其实是一样。

环境:
Master centos5.2 mysql5.1.35 主服务器的ip:10.207.10.154
Slave1 centos5.2 mysql5.6.10 从服务器的ip:10.207.10.158
Slave2 centos5.2 mysql5.6.10 从服务器的ip:10.207.10.205

一master主服务器上设置:
1、编辑my.ini文件
???server-id=1


???log-bin=/var/log/mysql/logbin/mysql-bin //开启log-bin二进制日志文件(注意logbin的权限必须对mysql是可写的)
???binlog-do-db=yaxin //同步yaxin库 其他库都不同步
???#binlog-ignore-db=mysql,information_schema //不同步
2、重启mysql数据库
3、添加slave服务器访问master服务器的帐号和权限
???mysql>GRANT

ALL PRIVILEGES ON *.* TO 'user'@'10.207.10.158' IDENTIFIED BY '123456' ;
???mysql>GRANT

ALL PRIVILEGES ON *.* TO 'user'@'10.207.10.205' IDENTIFIED BY 'abcedf' ;??
???mysql>

show master status; //得到主服务器上当前的二进制日志名和偏移量
+------------------+----------+--------------+------------------+
| File?????????????|

Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+
| mysql-bin.000006 |??????106

|????yaxin

?????????|??????????????????|

+------------------+----------+--------------+------------------+
1 row in set??
二slave1从服务器上设置:
1、编辑my.cnf文件(vi /etc/my.cnf)
???server-id=2???slave的ID号,此处一定要大于master端。
???replicate-do-db=yaxin
2、重启mysql数据库
3、同步
???mysql>stop

slave;
???mysql>change

master to
?????>master_host='10.207.10.154',
?????>master_user='myuser',?????master端创建的用于主从同步的账户和密码
?????>master_password='abc123',
?????>master_log_file='mysql-bin.000006',

//master端记录的file值
?????>master_log_pos=106;

// master端记录的position值
???mysql>start

slave;
???mysql>show

slave status \G
???mysql

>show processlist;//显示从服务器上的进程

三slave2从服务器上设置:
1、编辑my.cnf文件(vi /etc/my.cnf)
???server-id=3?
???replicate-do-db=yaxin
2、重启mysql数据库
3、同步
???mysql>stop

slave;
???mysql>change

master to
?????>master_host='10.207.10.154',
?????>master_user='myuser',?????master端创建的用于主从同步的账户和密码
?????>master_password='abc123',
?????>master_log_file='mysql-bin.000006',

//master端记录的file值
?????>master_log_pos=106;

// master端记录的position值
???mysql>start

slave;
???mysql>show

slave status \G
???mysql

>show processlist;//显示从服务器上的进程
四、测试
注意:主从数据库初始信息要相同,包括表结构、表数据、编码等,如果不相同,则将master主服务器中的信息先备份,然后再导入到从服务器。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!