MySQL5.7如何实现双主同步部分表的过程介绍
技术百科
黄舟
发布时间:2017-09-05
浏览: 次 这篇文章主要给大家介绍了关于mysql 5.7双主同步部分表实现的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
前言
最近遇到一个需求,由于公司自身业务,两个数据库之间某些表需要实时双向同步数据,且其中任何一台数据库宕机都不会影响另外一台数据库,这里记录一下自己的技术调研,以便后期重构中使用。下面话不多说了,来一起看看详细的介绍吧。
安装MySQL5.7
推荐直接进官网 下载yum源的方式安装,毕竟安全又省事。
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum -y install mysql57-community-release-el7-11.noarch.rpm yum -y install mysql-server # 安装MySQL5.7 systemctl start mysqld # 启动MySQL
配置双主
my.cnf配置
此处只是做了简单的双主的配置,没有做数据库相关方面的优化,如需要优化可以私聊。
MySQL1的配置如下
[mysqld] vim /etc/my.cnf datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid skip_name_resolve=ON #设置简单密码 validate_password_policy=0 validate_password_length=1 ###主配置 log_bin=bin_log server-id=1 binlog-do-db=ziyun # 允许从复制的哪一个库 slave_parallel_type='logical_clock' #设置复制类型为 LOGICAL_CLOCK slave_parallel_workers=4 #设置并行数量为 4 ###从配置 relay-log=relay-bin relay-log-index=relay-bin.index replicate-do-db=ziyun # 允许复制主服务的库 replicate-do-table=ziyun.test1 # 允许复制主服务的库的哪一张表 replicate-do-table=ziyun.test2
MySQL2的配置和上面基本一样,只是修改一个server-id=2,其他保持不变即可
MySQL命令配置
以下的都在SQL命令行界面配置
主配置:
mysql> CREATE USER 'slave'@'192.168.1.100' IDENTIFIED BY '123.com'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.100'; # 授权复制的用户和密码 mysql> show master status; +-----------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +-----------------+----------+--------------+------------------+-------------------+ | bin_log.000002 | 8384 | ziyun | | | +-----------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
从配置:
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.101', -> MASTER_USER='slave', -> MASTER_LOG_FILE='bin_log.000002', -> MASTER_LOG_POS=8384; Query OK, 0 rows affected, 2 warnings (0.01 sec) mysql> start slave; Query OK, 0 rows affected (0.01 sec) mysql> show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: Yes # 确定以上都为yes,并且无任何报错即可
在MySQL2上一样配置即可
双主同步测试
这里我之前
在两边都建了一个ziyun的数据库,并且建了test1 test2 test3表,测试效果如下:
总结
# 自己的
# 都在
# 有一定
# 这篇文章
# 朋友们
# 给大家
# 一台
# 相关资料
# 不多
# 说了
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Windows10系统怎么查看显卡型号_Win10
- Win11任务栏怎么放到顶部_Win11修改任务栏
- 如何在Golang中处理JSON字段缺失_Gola
- c# await 一个已经完成的Task会发生什么
- Mac如何创建和管理多个桌面空间_Mac高效多任务
- windows 10专注助手怎么关闭_window
- Win10怎么设置开机密码_Windows10账户
- Win11如何设置开机自动联网 Win11宽带连接
- Windows10如何更改桌面图标间距_Win10
- Windows10怎么备份注册表_Windows1
- c# 如何用c#实现一个支持优先级的任务队列
- PHP主流架构如何处理会话管理_Session与C
- 如何在Golang中解压文件_Golang com
- MySQL 中使用 IF 和 CASE 实现查询字
- php会话怎么开启_session_start函数
- Win10如何优化内存使用_Win10内存优化技巧
- c++怎么编写动态链接库dll_c++ __dec
- Win11开机速度慢怎么优化_Win11系统启动加
- Windows服务启动类型恢复方法_错误修改导致的
- c++输入输出流 c++ cin与cout格式化输
- php能跑在stm32上吗_php在stm32微控
- Python随机数生成_random模块说明【指导
- C++如何使用std::optional?(处理可
- 如何在 ACF 中正确更新嵌套多层的 Group
- Win11怎么开启移动热点_Windows11共享
- PHP中require语句后直接调用返回对象方法的
- 短链接怎么自定义还原php_修改解码规则适配需求【
- Windows10怎么查看硬件信息_Windows
- php嵌入式需要什么环境_搭建php+linux嵌
- 如何在Golang中处理URL参数_Golang
- 如何使用正则表达式批量替换重复的星号-短横模式为固
- ACF 教程:正确更新嵌套在多层 Group 字段
- C++如何将C风格字符串(char*)转换为std
- MAC怎么解压RAR格式文件_MAC第三方解压工具
- Win10电脑怎么设置IP地址_Windows10
- php485在macos下怎么配置_php485
- Win11怎么制作U盘启动盘_Win11原版系统安
- 如何使用Golang反射创建map对象_动态生成键
- 如何使用Golang encoding/json解
- php删除数据怎么清空表_truncate与del
- php打包exe后无法读取环境变量_变量配置方法【
- Win11怎么关闭系统声音_Win11系统提示音静
- 如何使用Golang实现负载均衡_分发请求到多个服
- Windows10如何更改开机密码_Win10登录
- Win10怎么限制单程序CPU占用上限_Win10
- Win11怎么查看已连接wifi密码 Win11查
- Win11怎么更改鼠标指针方案_Windows11
- Go 中 := 短变量声明的类型推导机制详解
- Python邮件系统自动化教程_批量发送解析与模板
- Python爬虫项目实战教程_Scrapy抓取与存

QQ客服