mysql 主从复制 + thinkphp 读写分离

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

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

注意:本文档学习原理使用,线上可使用阿里云rds自带的读写分离

 

主从复制:

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用户:root  密码 Xg7!2rHVp9Ys&T4z
(lnmp)主库复制用户:REPL 密码 Xg7!2rHVp9Ys&T4a

(docker-db2)从库root用户:root  123456

 

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

教程:

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

posted @ 2024-03-16 17:01  猫猫客服  阅读(35)  评论(0编辑  收藏  举报