| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Mysql8主从复制搭建 -> 正文阅读 |
|
[大数据]Mysql8主从复制搭建 |
我们知道Mysql的主从同步机制实现,还是先来一张主从同步的原理图(这里直接使用最经典的那一张),方便搭建已经遇到问题后的解决,这里忽略讲解binlog的格式,以及write log first等原理。 ?实现一主多从读写分离的情况下,不推荐使用Docker搭建mysql,这里使用了官方Compressed TAR Archive搭建Mysql单节点的方式,详细可以参考:Mysql8 CentOS7 Compressed TAR Archive安装,这里默认已经搭建了一个主,根据需求搭建了多个从节点,并且已经设置好了 root的账号密码,继续: 一、主节点库创建用户同步的数据的mysql用户、设置权限: CREATE USER 'slave'@'%' IDENTIFIED BY 'Slave123'; GRANT REPLICATION SLAVE ON *.* To 'slave'@'%' WITH GRANT OPTION; flush privileges; ?修改配置文件/etc/my.cnf?,增加下面的行(设置群服务id,设置binlog):
重启mysql: service mysqld restart; 登陆mysql并且执行命令查看状态:show master status; 二、从节点库修改配置文件 /etc/my.cnf, 配置添加如下:
?重启mysql: service mysqld restart; 根据需要是否将从库设置为只读:flush tables with read lock; 根据上面 show master status现在的日志文件和位置设置下面的命令: change master to master_host='47.94.140.208',master_user='slave',master_password='Slave123' ,MASTER_PORT=3306, master_log_file='mysql-bin.000001',master_log_pos=155; SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; start slave; 使用同步命令查询: show slave status \G
三、验证同步结果一定保证slave数据库的 io线程和sql线程都在正常的工作,如下: ?如果发现从库sql线程没有执行,此时就需要检查相关库不一样的地方,或者将主库进行dump,并在从库执行保证一致,再在slave执行: stop slave 和 start slave 测试同步:在主节点上创建一个数据库如 : create table ...; 在从库上查询数据库是否已经同步:show tables; |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:00:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |