技术文摘
不停止 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从库添加方式
- .NET Core 非阻塞异步编程及线程调度过程剖析
- JDK 方法区的变迁历程:版本差异与改进
- GitHub Actions 助力特性标记清理
- 各类自动化测试的性能对比
- 高并发场景中加锁的诡异错误:已加锁仍出错
- 现代化 Flutter 架构中的 Riverpod 数据层
- CSS 怎样模拟“真实”的进度条
- CSS 全部四种焦点样式,你知晓吗?
- JVM 类加载机制为何必要?深度解析其原理
- Elment UI Select Change 事件传值方法,你掌握了吗?
- Jetty 线程策略 EatWhatYouKill 之比较
- Gorm 分页的全新方案,您掌握了吗?
- 深度掌控 Java Stream 流操作,提升代码档次!
- MapStruct 中枚举的五种用法教程
- Go 在十亿次循环和百万任务中竟不如 Java ,原因何在?