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

mysql 配置主从服务器,实现数据同步

2018-12-18 15:52 232 查看

1、准备工作:

腾讯云的centos

两台服务器:(mysql版本尽量保持一致,主服务器的版本不能高于从服务器)

主服务器:ip1;

从服务器:ip2;

待同步的数据库:mash;

同步主从数据库数据,保持主从数据一致!

需要注意的是!!!

线上的项目导出数据的时候,保证主库上锁,等slave导入、slave start之后在解锁;

slave重启的时候也一样,重启之前,主库上锁,重启完毕,解锁;

主库表锁!

mysql>flush tables with read lock;

主库解锁!

mysql>unlock tables;

tips:1.用linux命令行工具 键入命令: mysql -uroot -ppwd即可连接本机数据库

2、配置主服务器:

2.1、修改mysql配置文件my.conf

找到my.conf目录 vi my.conf

[code]Server-id = 1  #这是数据库ID,此ID是唯一的,主库默认为1,其他从库以此ID进行递增,ID值不能重复,否则会同步出错;

log-bin = mysql-bin  #二进制日志文件,此项为必填项,否则不能同步数据;

binlog-do-db = mash  #需要同步的数据库,如果需要同步多个数据库则继续添加此项。

# binlog-do-db = mash1

# binlog-do-db = mash2

binlog-ignore-db = mysql 不需要同步的数据库;

保存退出!重启MySql使更改生效!

2.2添加一个同步用户mytest并赋值权限(用于从服务器slave使用)!

[code]create user mytest

grant replication slave on *.* to ‘mytest’@'ip2' identified by '123456'

查看状态

记住file和position

3、配置从服务器:

3.1、修改mysql配置文件my.conf

[code]server-id=2    #默认是1改成2,注意主从id不能一样
log-bin=mysql-bin    #这行本身有
replicate-do-db=mash    #需要同步的数据库
replicate-ignore-db=mysql    #不同步系统数据库

保存退出!重启MySql使更改生效!

 

3.2修改slave参数:

stop slave;

change master to master_host='ip1',master_user='mytest',master_password='123456',master_log_file='mysql-bin.000009' ,master_log_pos=120

# 注:master_log_file=上面提到的二进制文件;master_log_pos=上面提到的pos

start slave;

校验:

至此主从配置完毕! 

4.若是slave status 里面有报错,手动解决之后,执行如下命令即可!

[code]mysql> stop slave;

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;

mysql> start slave;

 

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