zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Mysql搭建主从复制功能

mysql 功能 搭建 主从复制
2023-09-27 14:27:14 时间

目录

1.描述🐇

 2.开始远程连接🐇

3.开启bin-log日志🐇

4.重启两台mysql🐇

4.授权Ⅰ🐇

5.授权Ⅱ🐇

 6.配置从服务器🐇

7.启动从库的复制功能🐇

8.检查从库复制功能状态🐇


1.描述🐇

在实际的生产中,为了解决Mysql的单点故障已经提高MySQL的整体服务性能,一般都会采用「主从复制」。

比如:在复杂的业务系统中,有一句sql执行后导致锁表,并且这条sql的的执行时间有比较长,那么此sql执行的期间导致服务不可用,这样就会严重影响用户的体验度。

主从复制中分为「主服务器(master)「和」从服务器(slave)」,「主服务器负责写,而从服务器负责读」,Mysql的主从复制的过程是一个「异步的过程」。

这样读写分离的过程能够是整体的服务性能提高,即使写操作时间比较长,也不影响读操作的进行。

这里的描述用一张图来表示:

 2.开始远程连接🐇

#切换到mysql这个数据库,修改user表中的host,使其可以实现远程连接
use mysql;
update user set host ="%" where user ="root";

#改完之后一定要刷新信息
 flush privileges;

3.开启bin-log日志🐇

#修改主服务器Master
#修改配置文件
vim /etc/my.cnf
#主服务器唯一ID,这个id可以随便修改,只要不跟从服务器重复
server-id=1
#启用二进制日志
log-bin=mysql-bin
#修改从服务器slave
修改配置文件:vim /etc/my.cnf
#从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

4.重启两台mysql🐇

service mysqld restart

4.授权Ⅰ🐇

在主服务器上建立帐户并授权slave

mysql>GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';

5.授权Ⅱ🐇

在master上创建账户并授权slave

mysql>GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by '123456';

tips
一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,
密码正确,此处可用具体客户端IP代替,如192.168.145.226,
加强安全。

 6.配置从服务器🐇

mysql>change master to master_host='192.168.66.138',master_user='slave',master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=438;

7.启动从库的复制功能🐇

mysql>start slave;

8.检查从库复制功能状态🐇

show slave status \G;

TIPS
下图所圈的两个线程必须为yes状态,否则主从复制搭建不成功。