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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析