技术文摘
不停止 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从库添加方式
- 插件式开发架构研究综述
- 苹果招聘 RISC-V 开发者
- No.js:基于 V8 和 io_uring 的 JS 运行时漫谈
- Sentry For React 完整接入深度解析(2021 Sentry v21.8.x) 三万字长文慎入!
- Strview.js 源码剖析:一篇文章带你解读
- Go1.17 新特性:Go Get 的变化
- Alpine、Distroless、Busybox,谁是容器镜像的瑞士军刀?
- 多图详解边缘计算系统的组成与概念,你是否还记得?
- Svelte 发展的最大制约因素会是这个吗
- Webpack 基础篇图解
- 学会理解动态规划之篇章
- Webpack 优化之图解
- 看完此篇仍不懂链表 你就打我
- JavaScript 与数独制作之谈
- 我终识破 Go 编译器的把戏