MYSQL+Thinkphp5读写分离,主从同步实现方法

MYSQL+Thinkphp5读写分离,主从同步实现⽅法
前⾔
数据库读写分离的强⼤就不多说了!
##-----------------------------------------------------------------------------------------------------------
表贴电阻⾸先修改mysql配置⽂件让主服务器master记录数据库操作⽇志到Binary log,从服务器开启i/o线程将⼆进制⽇志记录的操作同步到relay log(存在从服务器的缓存中),另外sql线程将relay log⽇志记录的操作在从服务器执⾏。
1.打开主数据库配置⽂件
vim /etc/myf
2.在主服务器master上配置开启Binary log,在[mysqld]下⾯添加:
server-id=1
log-bin=master-bin
b衰变
log-bin-index=master-bin.index
如图:
3.保存后,重启mysql服务
service mysql restart
4.检查配置效果,执⾏
mysql> SHOW MASTER STATUS;
如图:
记住图⾥圈起的数据,配置从服务器有⽤
5.配置从服务器的mysql配置⽂件myf
在[mysqld]节点下⾯添加:
server-id=2
嘧霉胺
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
共青团中央改革方案
这⾥的server-id需要是唯⼀值
如图:
配置完成后需要重启mysql服务
service mysql restart
二元二次方程的解法非手术6.实现N个数据库的关联
(⼀)在主服务器执⾏
mysql> create user REPL;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'REPL'@'从服务器ip' IDENTIFIED BY 'password'; mysql> flush privileges;
这三⾏代码的意思分别是:
1、创建⼀个⽤户REPL
2、赋予其REPLICATION SLAVE权限(复制), . 表明这个权限是针对主库的所有表的,从服务器ip是从服务器的ip地址(也可以为%,表⽰所有客户端都可能连),password是REPL⽤户密码。
3、刷新MySQL的权限到内存;因为MySQL启动后,所有⽤户权限都是加载到内存中的;更新权限的
操作不会⽴马刷新到内存中,下⼀次启动时才重新⽣效;flush privileges让MySQL重新加载权限,这样能⽴马⽣效。
(⼆)在从服务器执⾏
change master to master_host='主服务器ip',master_port=3306,master_user='REPL',master_password='password',master_log_file='master-bin.000009',m aster_log_pos=467;
master_log_file和master_log_pos与前⾯圈起来的相对应
完成后进⾏启动服务
start slave;
然后执⾏(注意这段命令尾部不要加;号,不然报错)
show slave status \G
如图,这⾥已经成功实现了,我们可以进⾏测试⼀下在主服务器执⾏
create database test_2;
如图:
show databases;
从图⾥可看出,同步过来了,其他增删查改操作也⼀样会同步的哦7.运⽤到THINKPHP5项⽬⾥
修改⼀下项⽬的数据库配置⽂件就可以了

本文发布于:2024-09-23 17:24:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/153258.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   配置   操作   数据库   权限   重启
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议