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

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

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使用)!

create user mytest

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

查看状态

记住file和position

3、配置从服务器:

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

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 里面有报错,手动解决之后,执行如下命令即可!

mysql> stop slave;

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;

mysql> start slave;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值