Mysql主从同步步骤

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、第一步

1、检查主库从库磁盘空间,检查主库到从库的网络,包括延迟和文件复制速率;
2、备份数据库(建议备份)。

二、第二步 配置主数据库

1、设置主机,如果已经设置过,检查一下主机的配置
vi /etc/my.cnf
添加二进制日志配置,开启二进制(mysql-bin只是二进制日志名称,可以自行指定)
server-id=1 #id是一定要指定的,是唯一的标识(master数据库要比slave数据库的id优先级高才行)
log-bin=mysql-bin #开启二进制日志

2、登录数据库,创建同步账户并授权
CREATE USER ‘suser’@‘%’ IDENTIFIED BY ‘666666’;
grant replication slave on . to ‘suser’@‘%’ identified by ‘666666’;
flush privileges;

3、退出数据库重启服务
service mysql stop
service mysql start

4、主库加读锁
flush tables with read lock;

5、再登录数据库,查看master的状态
show master status;
记录mysql-bin文件名,如mysql-bin000001,后续会用到
记录position日志所在位置 ID如154,后续会用到
每隔几分钟重复执行show master status;以确认position所在位置是否有数据变化,最好多刷几次,如果bin和id值有变化,查看是否加了读锁


三、第三步准备从数据库

1、备份从库mysql/data/目录下的所有文件(空间充足的话,可以直接把data目录重命名一下)(从库数据无用可不备份)
2、进入主服务器,复制主库mysql/data/目录下面的所有“文件夹”,到从库对应位置;
scp -r 主库data所在目录 从库IP:从库data所在目录
scp -r /test/mysql/data 127.0.0.1:/test/mysql/
3、进入从服务器,赋予data访问权限
chown -R mysql.mysql 从库data所在目录
4、配置从库my.cnf配置文件,添加以下字段
server-id=2
log-bin=mysql-bin
5、退出数据库重启服务
service mysql stop
service mysql start
6、登录数据库
mysql -uroot -p
7、以下命令需要替换上面master的mysql-bin和position
change master to master_host=‘主库IP’,master_user=‘suser’,master_password=‘666666’,master_log_file=‘mysql-bin.000010’,master_log_pos=154;
8、#启动热备复制
start slave;
#stop slave;
9、解除主库读锁
10、查看从服务器复制状态
show slave status\G;
需要看到Slave_IO_Running: Yes和Slave_SQL_Running: Yes
测试一下,在主库创建测试表,看从库是否会自动复制过来

主从同步常用命令

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;跳过当前从库正在执行命令
show relaylog events in ‘1-0002-relay-bin.000004’ FROM 457395576 LIMIT 0 ,100;#显示日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值