码迷,mamicode.com
首页 > 数据库 > 详细

四、Mysql主从同步

时间:2019-02-19 15:09:01      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:mysql   _id   sql   主从复制   div   nlog   模式   复制   服务器   

 数据库的主从配置

一、准备和注意事项

1、主DB server和从DB server数据库的版本一致。
2、主DB server开启二进制日志,主DB server和从DB server的server_id都必须唯一。

 

二、Mysql主服务器配置

1、修改my.conf文件

技术图片

 在[mysqld]段下添加:

#主从复制的数据库的名字
binlog-do-db=master
#忽略mysql数据库
binlog-ignore-db=mysql
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID,一般取IP最后一段
server-id=16 

2、重启mysql服务

service mysqld restart

3、创建一个用于slave和master通信的用户账号,使用master分配的用户账号读取master二进制日志。

4、刷新权限

mysql> FLUSH PRIVILEGES;

5、查询master的状态

mysql> show master status;

技术图片

  注意:这里会生成二进制文件,mysql-bin.000004,指明了position为120,Binlog_Do_DB是master,小编就在这里出了错误,修改了my.conf后,没有重新启动mysql的服务,就没有产生新的二进制文件。

三、从库配置

 1、修改my.conf文件

mysql>change master to master_host=‘192.168.137.16‘,master_port=3306,master_user=‘backup‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000004‘,master_log_pos=120;  

 2、配置连接

mysql>change master to master_host=‘192.168.137.16‘,master_port=3306,master_user=‘backup‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000004‘,master_log_pos=120;

注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。
 

 3、启动从服务器复制功能

Mysql>start slave; 

 4、检查从服务器复制功能状态:

mysql> show slave status

 

……………………(省略部分)
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
……………………(省略部分)

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。

 

mycat配置Mysql读写分离

  当MySQL按照之前的主从复制方式配置好集群以后,可以开启Mycat的读写分离机制,Mycat 1.4 支持MySQL主从复制状态绑定的读写分离机制,让读更加安全可靠,以以下的配置为例,表明一个从节点hostS1与一个主节点hostM1组成了标准的一主一从的读写分离模式:

 

四、Mysql主从同步

标签:mysql   _id   sql   主从复制   div   nlog   模式   复制   服务器   

原文地址:https://www.cnblogs.com/fger/p/10400997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!