您的位置:首页 > 数据库 > SQL

分布式系统架构——Mysql数据库实现主从同步

2017-12-13 16:51 267 查看


mysql实现两台机器的主从同步


准备工作

将Master服务器上的备份数据库拷贝到Slave服务器上

注意: 

使用Navicat拷贝的时候,需要在Slave上先创建数据库,然后再把数据和格式拷贝到此数据库上。


Master配置

修改/etc/my.cnf:

server-id=1
#需要备份的数据库名,如果需要备份多个数据库,重复设置这个选项即可。
binlog-do-db=repl
#启动二进制日志系统
log-bin=mysql-bin
1
2
3
4
5
6

查看信息 



show master status 

会显示log_file 与 log_pos信息,配置slave的时候需要用到 




Slave配置

登录之后,输入如下命令行:

slave stop;
SET GLOBAL server_id=2;

change master to
master_host='120.26.203.200',
master_user='gl',
master_password='chenxing',
master_log_file='mysql-bin-log.000010',
master_log_pos=1198;
1
2
3
4
5
6
7
8
9
10



slave start; 


 
注意:

在进行配置之前,一定要先将slave stop。配置完了,在start。
必须要设置server_id
log_file与log_pos需要与master上的一致


双向同步实现

配置双向同步方法就是在单向同步的基础上略加改动,即在从机上做主机配置,在主机上做从机配置。


在slave上做主机配置

配置文件配置

在配置文件中添加:
server-id=2
binlog-do-db=bbc
log-bin=mysql-bin
1
2
3
4
5

重启mysql 



service mysql restart 

创建同步账号 



进入mysql命令窗口执行: 

grant replication slave on . to ‘gl’@’120.26.203.200’ identified by ‘chenxing’; 

刷新配置: 

flush privileges;

查看master状态 



show master status;


在master上做从机配置

登录数据库执行如下命令:

slave stop;

change master to 

master_host=’120.26.221.197’, 

master_user=’gl’, 

master_password=’chenxing’, 

master_log_file=’mysql-bin-log.000002’, 

master_log_pos=475;

slave start;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: