mysql 主从复制 + thinkphp 读写分离

码农小良 / 2024-03-17 / 原文

好处:加快查询速度、数据库热备份等

注意:要跨服务器,先准备一个虚拟机或者docker,同一个服务器意义不大,而且风险大。

 

主从复制:

1、主数据库,开启bin log日志

2、主数据库创建1个,只有复制权限的用户

3、在从数据库上,配置主数据库这个用户

4、在从数据库上新增一个只有读权限的用户

5、将从库和读权限用户配置到thinkphp中

 

 

第一步

先查询是否开启了binlog日志

 

查询不到就需要开启

 

 

server-id=1
log-bin=master-bin
log-bin-index=master-bin.index

添加后,重启 systemctl restart mysqld

再次查询
master-bin.000001 154
记录下来,后面从库要配置

在虚拟机或者docker中,新建1个从库

 从库:192.168.22.135 账号root密码123456

在主库和从库建一个一样的数据库:slave_mydb1

 

在主服务器执行

创建复制权限用户:

CREATE USER 'REPL'@'%' IDENTIFIED BY 'Xg7!2rHVp9Ys&T4a';

刷新配置

flush privileges;

 

lnmp数据库密码:root Xg7!2rHVp9Ys&T4z

 

下一步:在从库上面配置用户信息

https://blog.csdn.net/qq_32748609/article/details/96988747?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-96988747-blog-96871574.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.3&utm_relevant_index=7