微赞用mysql_微赞微擎V0.8以上版本:【数据库读写分离】实战教程 [复制链接]

本文主要是介绍微赞用mysql_微赞微擎V0.8以上版本:【数据库读写分离】实战教程 [复制链接],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

马上注册,下载更多源码,让你轻松玩转微信公众平台。

您需要 登录 才可以下载或查看,没有帐号?立即注册 27492d34c6e3381b81ef5a1aac1779c1.gif

x

【MYSQL数据库主从分离准备】

1、主服务器数据库准备

首先安装主数据库:这段内容大家问度娘

1.1配置主数据库my.ini

打开my.ini,在[mysqld]下面添加以下参数

#开启MYSQL二进制日志

log-bin=mysql-bin

#服务器ID不能重复

server-id=1

#需要做备份的数据库名称

binglog-do-db=

#只保留7天的二进制日志

expire-logs-day=7

复制代码

1.2 配置主从复制账号  登陆mysql控制器设置用于主从复制的独立账号

MYSQL>GRANT REPLICATION SLAVE ON *.* TO ‘帐号’@’从服务器IP’ IDENTIFIED BY ‘密码';

复制代码

1.3重启MySQL ,让配置生效.可以通过show master status\G;查看主数据库是否配置成功。2、从数据库的准备及数据同步

2.1 微擎系统关闭站点,备份数据库。

2.2 在主服务器设置只读锁

MYSQL > PlUSH TABLES WITH READ LOCK;

复制代码

2.3 通过命令行导出数据库以上数据库导出方式中也可以通过工具导出,而后为主数据库增加只读锁,导出前增加只读锁处于数据保真的观念,但并不是必须。

2.4将主服务器的数据库导入到从服务器的数据库

2.5 解除主数据库只读锁,重新开启微擎(开启只读锁只是为了导出数据保真,并不是必须步骤)

MYSQL > UNLOCK TABLES

复制代码

2.6 配置从数据库my.ini (如果是win系统则是my.cnf)(主从数据系统可以混合,且主从数据库支持多台,以此实现分布式数据管理)

打开my.ini,在[mysqld]下面添加以下参数

#服务器ID不可重复

server-id=2

#主数据库的端口

master-port=3306

#需要做复制的数据库名

replicate-do-db=

#不需要复制的表,一般session表可以跳过

relicate-ignore-table=

#自动跳过的错误代码,以防复制被中断

slave-skip-errors=1032,1062,126,1114,1146,1048,1396

复制代码

2.7 重启从数据库,设置生效

2.8登录从数据库的MySQL命令行,执行:

change master to master_host=’主服务器IP’, master_user=’主服务器账号’, master_password=’主服务器密码’, master_log_file=’file的值’, master_log_pos=position的值;

复制代码

//设置连接信息,file及position的值是之前记录下来(在主服务器上通过show master status\G;),position的值没有单引号,其他的值要单引号

2.9 启动从库连接,查看从库状态,添加主数据库账号

start slave; //启动从库连接

show slave status\G; //查看连接情况

再次打开从数据库的my.ini,在[mysqld]下面添加以下参数

#主数据库的IP

master-host=

#主数据库主从复制账号

master-user=

#主数据主从复制密码

master-password=

复制代码

重启生效,再主数据随意增加数据,查看从数据库备份信息是否正常,如正常则主从复制已经完成。如不正常,查看前面分步骤是否有不正常或者参数是否缺少标的

3 微擎config.php配置文件设置

3.1打开主从复制开关,在config.php上增加一条

$config['db']['slave_status'] = 1; //0代表未开启

复制代码

3.2 配置主从或多组数据库信息(从数据库增加只读参数)

$config['db']['1']['host'] = '127.0.0.1';

$config['db']['1']['username'] = '';

$config['db']['1']['password'] = '';

$config['db']['1']['port'] = '3306';

$config['db']['1']['database'] = '主数据库名';

复制代码

3.3 配置从数据库禁用表名

在从数据配置中有几个表名可以禁用掉,只从主数据库读取

#禁止从从数据库读写的表名,表名之间用,分隔

$config['db']['common']['slave_excpet_table']=' '; //此参数要加在从数据库的配置记录下

复制代码

写在后面,整理,基本配置如上,不是所有的环境都是如此配置,这个按照我们自己运营系统的情况所写,对微擎源代码多处都有修改,各位小伙伴按照自己实际生产环境走。

另外微擎的配置文件只有一个,其实如果分离从主配置和从配置也是可以的,当然要修改一下代码。

这篇关于微赞用mysql_微赞微擎V0.8以上版本:【数据库读写分离】实战教程 [复制链接]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429196

相关文章

MySQL主从同步延迟问题的全面解决方案

《MySQL主从同步延迟问题的全面解决方案》MySQL主从同步延迟是分布式数据库系统中的常见问题,会导致从库读取到过期数据,影响业务一致性,下面我将深入分析延迟原因并提供多层次的解决方案,需要的朋友可... 目录一、同步延迟原因深度分析1.1 主从复制原理回顾1.2 延迟产生的关键环节二、实时监控与诊断方案

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

MySQL数据库约束深入详解

《MySQL数据库约束深入详解》:本文主要介绍MySQL数据库约束,在MySQL数据库中,约束是用来限制进入表中的数据类型的一种技术,通过使用约束,可以确保数据的准确性、完整性和可靠性,需要的朋友... 目录一、数据库约束的概念二、约束类型三、NOT NULL 非空约束四、DEFAULT 默认值约束五、UN

MySQL 多表连接操作方法(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN)

《MySQL多表连接操作方法(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLOUTERJOIN)》多表连接是一种将两个或多个表中的数据组合在一起的SQL操作,通过连接,... 目录一、 什么是多表连接?二、 mysql 支持的连接类型三、 多表连接的语法四、实战示例 数据准备五、连接的性

MySQL中的分组和多表连接详解

《MySQL中的分组和多表连接详解》:本文主要介绍MySQL中的分组和多表连接的相关操作,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录mysql中的分组和多表连接一、MySQL的分组(group javascriptby )二、多表连接(表连接会产生大量的数据垃圾)MySQL中的

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.