MySQL不停机添加从库
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,背景主节点上线运行了一段时间后,数据量日益增大,故需要添加slave节点来更好地支撑业务的发展。但是,此时也有一定量的用户了,所以不能把主节点停机,而是在不停机的情况下添加slave节点,具体实现方法
千家信息网最后更新 2025年02月03日MySQL不停机添加从库
背景
主节点上线运行了一段时间后,数据量日益增大,故需要添加slave节点来更好地支撑业务的发展。但是,此时也有一定量的用户了,所以不能把主节点停机,而是在不停机的情况下添加slave节点,具体实现方法如下:
环境
防火墙和selinux都关闭
master | slave | |
---|---|---|
IP | 192.168.7.71 | 192.168.7.72 |
主机名 | master01 | slave01 |
OS | CentOS7 | CentOS7 |
MySQL版本 | 5.7.28 | 5.7.28 |
操作步骤
1.在master上对数据库做完全备份,并且拷贝到slave节点
1.1 查看当前master上的数据库
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || db1 || db2 || mysql || performance_schema || sys |+--------------------+
1.2 使用mysqldump工具进行全库备份
[root@master01 ~]#mysqldump -p -A -F --single-transaction --master-data=1 > /backup/fullbackup_`date +%F_%T`.sqlEnter password: [root@master01 ~]#ll /backup/total 832-rw-r--r-- 1 root root 849153 Nov 29 20:22 fullbackup_2019-11-29_20:22:04.sql[root@master01 ~]#scp -p /backup/fullbackup_2019-11-29_20\:22\:04.sql root@192.168.7.72:/data/fullbackup_2019-11-29_20:22:04.sql 100% 829KB 14.9MB/s 00:00
1.3 创建授权复制账号
grant replication slave on *.* to repluser@'192.168.7.%' identified by '123.com';
2.在slave节点将master节点拷贝过来的完全备份进行导入
2.1 MySQL安装过程略
2.2 将以下内容添加到my.cnf文件中,然后重新启动数据库。
[mysqld]server-id = 2read_only = ON #设为只读,但是对超级用户无效。
2.3 导入并查看
[root@slave01 ~]#mysql -p < /data/fullbackup_2019-11-29_20\:22\:04.sql Enter password: [root@slave01 ~]#mysql -p -e "show databases"Enter password: +--------------------+| Database |+--------------------+| information_schema || db1 || db2 || mysql || performance_schema || sys |+--------------------+
可以看到已经将master节点上的所有库导入成功了。
3.在slave节点执行以下命令,指定连接主服务器的信息,以进行数据同步。
3.1 找到完全备份的position信息
[root@slave01 ~]#grep '^CHANGE MASTER' /data/fullbackup_2019-11-29_20\:22\:04.sql CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=154;
3.2 配置连接主服务的信息(从完全备份的位置之后开始复制)
[root@slave01 ~]#mysql -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 11Server version: 5.7.28 MySQL Community Server (GPL)Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.7.71', -> MASTER_USER='repluser', -> MASTER_PASSWORD='123.com', -> MASTER_PORT=3306, -> MASTER_LOG_FILE='mysql-bin.000003', -> MASTER_LOG_POS=154;Query OK, 0 rows affected, 2 warnings (0.01 sec)
3.3 启动slave节点,并查看同步状态。
mysql> start slave;Query OK, 0 rows affected (0.00 sec)mysql> show slave status\G*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.7.71 Master_User: repluser Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000003 Read_Master_Log_Pos: 154 Relay_Log_File: slave01-relay-bin.000002 Relay_Log_Pos: 320 Relay_Master_Log_File: mysql-bin.000003 Slave_IO_Running: Yes Slave_SQL_Running: Yes...省略信息...
Slave_IO_Running和Slave_SQL_Running线程都为Yes,表示主从同步成功,至此,在线添加从库已经实现。
节点
备份
数据
信息
数据库
同步
成功
拷贝
用户
服务
一定量
业务
主从
主机
位置
内容
命令
工具
情况
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
虚拟机装上服务器
芒果T互联网科技有限公司
sql如何复制数据库
欧孚网络技术有限公司
中国银行金融信息数据库
软件开发流程风险
青岛 网络安全集成商
迅连软件开发
网络安全审查办法广电总局
服务器用处理器
喵神网络安全
数据库视图怎么清理
软件开发使用笔记本
qq用户管理数据库结构
学软件开发里面包含学编程吗
通过网络技术学习
疫情期间金融业网络安全
软件开发成功怎么投放
交易软件开发网页版
服务器端口软件
软件开发怎么转项目经理
sql数据库读者信息表
合肥嵌入式软件开发年薪
人间地狱进入服务器后延迟特别高
本地数据库如何上传服务器
服务器用处理器
营业执照带软件开发
王者荣耀推荐服务器
服务器配置与管理论文500字
服务器端口软件