mysql主备搭建_mysql 主备搭建

为什么要复制数据库?
 
简单来说有以下几个用处:
 
1. 读写分离
 
通过MySQL复制可以实现读写分离,将读操作分布到多个不同的服务器上,减轻服务器的压力。
 
2. 备份
 
从库可以作为数据的异地实时备份。
 
3. 故障切换
 
当主库遇到故障,系统可以切换到从库,实现故障切换。
 
4. 升级测试
 
从库可作为测试服务器的数据库。
 
复制数据的步骤:
 
在主库上把数据更改记录到二进制日志(Binary Log)中。
 
备库将主库上的日志复制到自己的中继日志(Relay Log)中。
 
备库读取中继日志中的事件,将其在备库上重新执行一遍。
 
具体操作步骤如下:
 
主备两台服务器安装相同版本的数据库,数据库的初始数据保持一致。
 
(主库)配置同步账号创建数据库复制用户:mysql>CREATE USER 'repl'@'172.16.127.83' IDENTIFIED BY '123456';
 
授权:mysql>grant replication slave on *.* to 'repl'@'172.16.127.83' ;
 
3.(主库)修改/etc/my.cnf文件,注意确保:server-id 唯一
 
server-id=1
 
log-bin=mysql-bin
 
4.(主库)重启master端
 
1.   service mysqld restart
 
5.(主库)查询主库上当前的二进制日志名和偏移量值,记录下file跟position的值,待会从库要用
 
1.   mysql>show master status \G
 
6.(从库)修改/etc/my.cnf文件,注意确保:server-id 唯一
 
server-id=2
 
7.(从库)重启slave端
 
1.  service mysqld restart
 
8.(从库)对从数据库服务器做相应设置,指定复制使用的用户,主数据库服务器的IP、端口以及开始执行复制的日志文件和位置等
 
1.  mysql>CHANGE MASTER TO MASTER_HOST='172.16.127.49',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000013',MASTER_LOG_POS=156;
 
9. (从库)启动slave线程
 
1.  mysql>start slave;
 
10.  主库跟从库分别检查状态
 
1. 检查master的:mysql>show processlist\G      结果:看到上面的Command: Binlog Dump说明配置成功!
 
2.检查slave的:mysql>show slave status \G       结果:提示:Slave_IO_Running和Slave_SQL_Running两个值为YES基本上成功了
————————————————
版权声明:本文为CSDN博主「六十度灰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_31304599/article/details/113203840
posted @ 2021-03-29 12:30  路要一步一步走  阅读(1689)  评论(0编辑  收藏  举报