说明

mySQL数据库主从同步可实现读写分离,并且在网上找了一些资源,感觉不是那么简明扼要,所以操作之后以我的感受整理成一个流程文章,只要按照操作一步一步操作即可。

环境

两个服务器都是使用mysql 5.7,使用宝塔修改数据库配置即可,然后登录终端操作

数据库主从配置

数据库主从配置 1. 服务器1:152.136.148.205 2

服务器2:121.5.203.77 3

配置服务器1:

[mysqld] 下方增加以下内容,其中:server-id保持唯一性;binlog-do-db和replicate-do-db为主从数据库名称,内容如下:

[mysqld]

log-bin=mysql-bin
binlog_format=mixed
server-id = 89
binlog-do-db = zhu
replicate-do-db = zhu
log-slave-updates

4.配置服务器2:

[mysqld] 下方增加以下内容,其中:server-id保持唯一性;binlog-do-db和replicate-do-db为主从数据库名称,内容如下:
 

[mysqld]

log-bin=mysql-bin
binlog_format=mixed
server-id = 90 //两个服务器必须不同且保持唯一
binlog-do-db = zhu
replicate-do-db = zhu
log-slave-updates

从终端进入mysql的root账号:

mysql -uroot -p

输入root密码

mysql>

5.打开服务器1:152.136.148.205 的终端面板(121.5.203.77为服务器2的IP):

//为master创建复制用户并赋予权限

mysql>grant replication slave on *.* to 'slave_account'@'121.5.203.77' identified by '123456';

//赋予权限

mysql>FLUSH PRIVILEGES;

6.打开服务器2:121.5.203.77 的终端面板(152.136.148.205为服务器1的IP):
 

//为master创建复制用户并赋予权限

mysql>grant replication slave on *.* to 'slave_account'@'152.136.148.205' identified by '123456';

//赋予权限

mysql>FLUSH PRIVILEGES;

7.在服务器1:152.136.148.205(主):运行show master status;

mysql> show master status;

 

在服务器2:121.5.203.77(从)运行:

mysql>change master to master_host='152.136.148.205',master_user='slave_account',master_password='123456',master_log_file='mysql-bin.000019',master_log_pos=154;

其中mysql-bin.000019为上图的参数1;154为上图的参数2;

然后运行以下代码:

//开启

mysql>start slave;

//查看状态

mysql>show slave status\G;

 

这样主从关系就绑定完成,在主服务器修改数据库,从服务器就跟随修改 8.双向绑定,就是把操作在从服务器上重做一遍

继续操作双向同步

在服务器2:121.5.203.77(主):运行show master status;

mysql> show master status;

 

在服务器1:152.136.148.205(从)运行:

change master to master_host='121.5.203.77',master_user='slave_account',master_password='123456',master_log_file='mysql-bin.000013',master_log_pos=4459;

其中mysql-bin.000013为上图的参数1;4459为上图的参数2;

然后运行以下代码:

//开启

start slave;

//查看状态

show slave status\G;

 

这样就双向绑定了已经,需要注意两个服务器的数据库的名称需要保持一致

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐