tp5支持mysql5.5吗_MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

前言:

本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例。最后就是ThinkPHP5的分布式的连接,读写分离配置,以后会用代码简单测试读写分离的效果。

数据库部分:

一. 主库(master)设置。

方法/步骤1:phpstudy至少开启MySQL服务,并找到配置文件mysql.ini并进入。

8f305d49377cd5add5711b2fd62c1a36.png

方法/步骤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

82445eccdb6108f79d4714a0769dcb12.png

方法/步骤3:验证配置是否成功,可以使用navicat for mysql工具新建查询或者直接使用命令。

(1). 查看server-id,命令“ SHOW VARIABLES LIKE 'server_id'; ”

8030162472d867f64bace0d12066f4b3.png

16286d76e3006fc375cc0627d366030f.png

(2). 查看主库的状态( 需要同步的数据库及不用同步的数库 下图中 file 和position 在从库配置中会用到 (每次修改主服my.ini 文件 file和position 参数都会变 )

43d4256ad158599331fd8241f9e50a95.png

40a6bc3830c85222a6252ca9036a66a9.png

方法/步骤4:查看主库电脑的局域网IP地址并且也添加一个给从库连接的用户账号并分配权限(本地是测试的可以直接将root账户主机开放)

26bdf125aec1ec7813cd3a57949f9681.png

方法/步骤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

9fe8e5cde8df2cf940bdcf9ff80e2a49.png

方法/步骤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;

关于File 和 Position('mysql-bin.000003' 1937) 是主库配置中的第3步得到的 主库中输入命令 show master status,前面几个就是主库的IP地址和用户账号密码了。

(3). start slave;    开启从库

format,png

方法/步骤4:检测主从是否打通,输入命令“ show slave status \G; ”,查看“ Slave_IO_Running ”和“ Slave_SQL_Running ”是否都为yes。

91cb7f841c59095f07f85220a0cbd7c3.png

方法/步骤5: 可以去主库的同步的表中随便添加数据,然后再查看从表是否同步即可

TP5部分:

主库(master)IP:192.168.1.112

从库(slave) IP: 192.168.1.102

1. 找到ThinkPHP5的databases.php文件,deploy设置为1(分布式),具体可以参考TP5的在线文档。

dda28560cb9a4b867cdcc5805ccbadae.png

2. 读写分离只需将rw_separate设置为true,并且前面的IP地址默认是主库。测试读操作是否会落到从表只需将从表的某个数据进行修改然后在代码中使用查询。

e26cc7ab1af6dd00ddc28ed635a9256e.png

cf34a08f96ea687822f6eb5de13322df.png

3ec7fc0e37497cf8abdb706c0116b76a.png

cc587250a0fc1673a49c01137454a5ff.png

3. 写操作可以在代码中执行插入数据,然后分别查看主库和从库是否同步就可以了。

6bbbe9d94d55be4c87d1cdd31af40b2c.png

5704229528304c8c85171017ba7a5933.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值