百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

yuyutoo 2024-11-16 02:39 1 浏览 0 评论

前言:

本文章是在同处局域网内的两台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 参数都会变 )

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

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

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

(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的在线文档。

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

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

相关推荐

MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

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

thinkphp5多语言怎么切换(thinkphp5.1视频教程)

thinkphp5多语言进行切换的步骤:第一步,在配置文件中开启多语言配置。第二步,创建多语言目录。相关推荐:《ThinkPHP教程》第三步,编写语言包。视图代码:控制器代码:效果如下:以上就是thi...

基于 ThinkPHP5 + Bootstrap 的后台开发框架 FastAdmin

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。主要特性基于Auth验证的权限管理系统支持无限级父子级权限继承,父级的管理员可任意增删改子级管理员及权限设置支持单...

Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示

本文实例讲述了Thinkphp5.0框架实现控制器向视图view赋值及视图view取值操作。分享给大家供大家参考,具体如下:Thinkphp5.0控制器向视图view的赋值方式一(使用fetch()方...

thinkphp5实现简单评论回复功能(php评论回复功能源码下载)

由于之前写评论回复都是使用第三方插件:畅言所以也就没什么动手,现在证号在开发一个小的项目,所以就自己动手写评论回复,没写过还真不知道评论回复功能听着简单,但仔细研究起来却无法自拔,由于用户量少,所以...

ThinkPHP框架——实现定时任务,定时更新、清理数据

大家好,我是小蜗牛,今天给大家分享一下,如何用ThinkPHP5.1.*版本实现定时任务,例如凌晨12点更新数据、每隔10秒检测过期会员、每隔几分钟发送请求保证ip的活性等本次分享,主要用到一个名为E...

BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统

BeyongCms内容管理系统(简称BeyongCms)BeyongCms系统基于ThinkPHP5.1框架的轻量级内容管理系统,适用于企业Cms,个人站长等,针对移动App、小程序优化;提供完善简...

YimaoAdminv3企业建站系统,使用 thinkphp5.1.27 + mysql 开发

介绍YimaoAdminv3.0.0企业建站系统,使用thinkphp5.1.27+mysql开发。php要求5.6以上版本,推荐使用5.6,7.0,7.1,扩展(curl,...

ThinkAdmin-V5开发笔记(thinkpad做开发)

前言为了快速开发一款小程序管理后台,在众多的php开源后台中,最终选择了基于thinkphp5的,轻量级的thinkadmin系统,进行二次开发。该系统支持php7。文档地址ThinkAdmin-V5...

thinkphp5.0.9预处理导致的sql注入复现与详细分析

复现先搭建thinkphp5.0.9环境...

thinkphp5出现500错误怎么办(thinkphp页面错误)

thinkphp5出现500错误,如下图所示:相关推荐:《ThinkPHP教程》require():open_basedirrestrictionineffect.File(/home/ww...

Thinkphp5.0极速搭建restful风格接口层

下面是基于ThinkPHPV5.0RC4框架,以restful风格完成的新闻查询(get)、新闻增加(post)、新闻修改(put)、新闻删除(delete)等server接口层。1、下载Thin...

基于ThinkPHP5.1.34 LTS开发的快速开发框架DolphinPHP

DophinPHP(海豚PHP)是一个基于ThinkPHP5.1.34LTS开发的一套开源PHP快速开发框架,DophinPHP秉承极简、极速、极致的开发理念,为开发集成了基于数据-角色的权限管理机...

ThinkPHP5.*远程代码执行高危漏洞手工与升级修复解决方法

漏洞描述由于ThinkPHP5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接GetWebShell。漏洞评级严重影响版本ThinkPHP5.0系列...

Thinkphp5代码执行学习(thinkphp 教程)

Thinkphp5代码执行学习缓存类RCE版本5.0.0<=ThinkPHP5<=5.0.10Tp框架搭建环境搭建测试payload...

取消回复欢迎 发表评论: