技术文摘
不停止 MySQL 服务增加从库的两种方式
不停止MySQL服务增加从库的两种方式
在MySQL数据库管理中,不停止MySQL服务就能增加从库是一项非常实用的技能,这有助于减少对业务的影响,保证系统的持续运行。下面为大家详细介绍两种常用的方法。
基于复制(Replication)的方式
MySQL的复制功能允许将主库的数据变化复制到从库。在主库上需要进行一些配置。开启二进制日志功能,这可以在MySQL配置文件(通常是my.cnf或my.ini)中设置 log-bin=mysql-bin。然后,创建一个用于复制的用户,并授予其复制权限。例如,使用命令 GRANT REPLICATION SLAVE ON *.* TO'replication_user'@'%' IDENTIFIED BY 'password';,之后刷新权限 FLUSH PRIVILEGES;。获取主库的状态信息,执行 SHOW MASTER STATUS;,记录下文件名(File)和位置(Position)。
在从库上,同样要配置一些参数。配置 server-id,确保每个从库的 server-id 唯一。接着,使用主库的信息进行复制设置,命令格式为 CHANGE MASTER TO MASTER_HOST='master_host_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file_from_show_master_status', MASTER_LOG_POS=master_log_position_from_show_master_status;。最后,启动从库复制 START SLAVE;,并通过 SHOW SLAVE STATUS \G 检查复制状态。
使用克隆插件(Clone Plugin)
MySQL 8.0引入了克隆插件,极大简化了从库的添加过程。首先,确保主库和从库都安装并启用了克隆插件。在从库上,执行 INSTALL PLUGIN clone SONAME 'libmysqlclone.so';。
然后,在从库上使用 CLONE INSTANCE FROM 语句来克隆主库。例如,CLONE INSTANCE FROM user@host:port IDENTIFIED BY 'password';。在克隆过程中,从库会连接到主库,获取数据并应用必要的配置。克隆完成后,从库就拥有了与主库相同的数据,并且可以开始接收主库后续的变更。
不停止MySQL服务增加从库的这两种方式各有特点,复制方式灵活且兼容性广,克隆插件则更为简便高效。数据库管理员可以根据实际情况选择合适的方法,以满足业务对数据库扩展的需求,同时保障系统的稳定运行。
TAGS: 增加从库 mysql服务管理 不停止MySQL服务 MySQL从库添加方式
- TIOBE 最新榜单:Python 稳坐头把交椅,新兴语言发展迅猛
- 在 Spring Boot 中借助 JSON Schema 校验复杂 JSON 数据
- Zephir 用于编写 C 动态扩展库以加密 PHP 源代码
- B站一面:拆解 Java Agent 实战
- C#代码重构:五大提升代码质量的技巧
- Python 中删除文件的多种方法,你了解吗?
- Python 动态进度条的实现方式
- Upload-Lab 第一关:前端验证轻松绕过技巧!
- Acks=all 消息竟也会丢失?
- C/C++ 中 const 关键字的多样玩法:位置决定含义
- 十个鲜为人知且少用的 HTML 标签
- 选择 Zephir 为 PHP 编写动态扩展库的原因
- 老板让我实现碎片化效果的鸟,能难住我?
- Python 性能优化的十大技巧
- 前端学习难度增大的原因:JavaScript 框架发展简史探讨