This browser does not support music or audio playback. Please play it in WeChat or another browser.
前言:
本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写分离配置,以后会用代码简单测试读写分离的效果。
数据库部分:
一. 主库(master)设置。
方法/步骤1:phpstudy至少开启MySQL服务,并找到配置文件mysql.ini并进入。
方法/步骤2:进入mysql-ini文件找到“[mysqld]”节点,添加以下配置,完成后重启服务。
server-id=1
log-bin=mysql-bin
binlog-do-db=repair_computer
binlog-do-db=jinde
binlog-do-db=test
binlog-ignore-db=weiqing
方法/步骤3:验证配置是否成功,可以使用navicat for mysql工具新建查询或者直接使用命令。
(1). 查看server-id,命令“ SHOW VARIABLES LIKE 'server_id'; ”
(2). 查看主库的状态( 需要同步的数据库及不用同步的数库 下图中 file 和position 在从库配置中会用到 (每次修改主服my.ini 文件 file和position 参数都会变 )
方法/步骤5:到这里主库master的配置就没有了。
二. 从库(slave)设置。
方法/步骤1:开启MySQL服务并找到mysql.ini文件的[mysqld]节点下,添加以下配置
server-id=2
log-bin=mysql-bin
slave-net-timeout=60
replicate-do-db=repair_computer
replicate-do-db=jinde
replicate-do-db=test
replicate-ignore-db=weiqing
方法/步骤2:重启服务,然后将主库的几个需要同步的数据导入到从库(表名需一致).
方法/步骤3:打开mysql命令面板,输入以下命令。
(1). stop slave; 停止从库
(2). change master to master_host=’2192.168.1.112’, master_user=’repl’, master_password=’repl’, master_log_file=’mysql-bin.000003’, master_log_pos=1937;
(3). start slave; 开启从库
方法/步骤4:检测主从是否打通,输入命令“ show slave status \G; ”,查看“ Slave_IO_Running ”和“ Slave_SQL_Running ”是否都为yes。
方法/步骤5:可以去主库的同步的表中随便添加数据,然后再查看从表是否同步即可
TP5部分:
主库(master)IP:192.168.1.112
从库(slave) IP: 192.168.1.102
1. 找到ThinkPHP5的databases.php文件,deploy设置为1(分布式),具体可以参考TP5的在线文档。
3. 写操作可以在代码中执行插入数据,然后分别查看主库和从库是否同步就可以了。
彩蛋:
公众号回复 “
mk漏洞
” ,可以免费获取《腾讯大牛亲授 Web 前后端漏洞分析与防御技巧》视频教程。