宝塔上的mysql的主从复制
随着项目越来越大,数据量越来越多,mysql数据库的负载也会变的越来越重,因此很多人使用mysql数据库时,会采用主从复制、读写分离的架构。今天我们就来说说这个mysql 数据库的主从复制的实现。
先说下我的环境情况。服务器A上的宝塔装的mysql数据库的版本是5.7.40,这个数据库作为一主数据库。服务器B上装的mysql数据库的版本是5.7.34,作为从数据库。下面直接开始。
1.主数据库的配置
(1)在终端进入mysql数据库 mysql -u root -p

(2) 输入数据库的密码,进入到数据库
(3)添加一个用户GRANT REPLICATION SLAVE ON *.* to 'slaveruser'@'81.68.84.888' identified by 'zXmRk5eKLA'; (slaveruser为新建用户名,81.68.84.888为从库服务器的IP ,zXmRk5eKLA 为新建用户的密码)

(4)刷新系统权限表的配置
(5) 开启mysql的二进制日志,在宝塔上找到mysql配置的地方

(6)# 开启binlog
log-bin=mysql-bin
server-id=3
#binlog日志保留的天数,清除超过10天的日志 防止日志文件过大,导致磁盘空间不足
expire-logs-days=10

2. 从数据库配置。
(1)同样找到数据库的配置文件。server-id=1 #不要和其他mysql服务id重复即可
replicate-do-db = 'tp_netbolg_cn'; #表示需要复制主服务器上的数据库是tp_netbolg_cn

(2)同样进入mysql,mysql -u root -p


(3)执行如下命令
CHANGE MASTER TO
MASTER_HOST='81.68.84.888',//主机IP
MASTER_USER='slaveruser',//之前创建的用户账号
MASTER_PASSWORD='zXmRk5eKLA',//之前创建的用户密码
MASTER_LOG_FILE='mysql-bin.000009',//主机的binlog日志名称
MASTER_LOG_POS=10267273,//binlog日志偏移量
master_port=3306;//端口

注意: 日志名称和日志偏移量可以在主库上执行该命令show master status;

(4)启动slave服务
start slave;

(5)查看slave的状态
show slave status\G;

如果Slave_IO_Running 和Slave_SQL_Running 都显示yes,表示配置成功
(6)接下来我们验证下。这是主数据库的test表的一条录

从数据库的记录

然后修改主库的数据。
结果从库的数据也改变了

到此,宝塔上的mysql的主从复制可能写的过程中还有很多不好的地方,希望大家能指出来,在此,谢谢大家