mysql主从同步配置需按步骤完成环境准备、用户创建、数据导出、从库设置及常见问题处理。1. 准备两台服务器并配置主从mysql的server-id与日志文件;2. 在主库创建复制账号并授权;3. 获取主库状态并使用mysqldump导出导入数据;4. 配置从库连接信息并启动同步线程;5. 注意权限、防火墙、延迟监控及版本差异等常见问题。
MySQL主从同步是构建高可用、读写分离架构的基础。用Sublime Text来配置,虽然不是直接运行环境,但作为编辑器确实能提高效率和可读性。下面我以实际操作为例,带你一步步完成主从同步的配置。

在开始前,确保你有两台服务器:一台作为主库(master),另一台作为从库(slave)。可以是本地虚拟机或云主机。
- 系统环境:CentOS 7 或 Ubuntu 20.04
- MySQL版本:建议一致,比如 5.7 或 8.0
- 网络互通:主从之间能通过3306端口通信
使用 Sublime 打开 MySQL 的配置文件
my.cnf,通常路径为
/etc/my.cnf或
/etc/mysql/my.cnf。

主库配置中添加:
server-id=1 log-bin=mysql-bin
从库配置中添加:

server-id=2 relay-log=mysql-relay-bin注意:server-id 必须唯一,否则同步会失败。
保存后重启 MySQL 服务:
systemctl restart mysqld2. 创建用于复制的用户
主库上需要创建一个专门用于复制的账号,并授权 REPLICATION SLAVE 权限。
进入 MySQL 命令行:
CREATE USER 'repl'@'从库IP' IDENTIFIED BY '密码'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库IP'; FLUSH PRIVILEGES;
例如:
CREATE USER 'repl'@'192.168.1.102' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.102';
这一步非常关键,权限不正确会导致连接失败。
3. 获取主库当前状态并导出数据登录主库执行:
SHOW MASTER STATUS;
你会看到类似这样的输出:
File: mysql-bin.000001 Position: 154
记录这两个值,后续从库设置时会用到。
然后锁表并导出数据(使用mysqldump):
mysqldump -u root -p --all-databases --master-data > backup.sql
将这个文件传送到从库机器上,并导入:
mysql -u root -p < backup.sql
别忘了在主库上解锁:
UNLOCK TABLES;4. 配置从库并启动同步
在从库上执行以下命令来指定主库信息:
CHANGE MASTER TO MASTER_HOST='主库IP', MASTER_USER='repl', MASTER_PASSWORD='密码', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
然后启动从库同步线程:
START SLAVE;
检查同步状态是否正常:
SHOW SLAVE STATUS\G
查看
Slave_IO_Running和
Slave_SQL_Running是否都为 Yes。
如果出现错误,如连接超时或权限问题,回头检查防火墙、用户权限和网络设置。
5. 小贴士和常见问题-
如果你在使用 Sublime 编辑配置文件时遇到权限问题,可以用 sudo 打开终端运行:
sudo sublime /etc/my.cnf
主从同步延迟是个常见问题,可以通过监控
Seconds_Behind_Master
来判断。不要忘记定期检查主库 binlog 文件大小,避免磁盘占满。
如果使用的是 MySQL 8.0,注意默认认证插件的变化,可能需要额外配置。
基本上就这些步骤了。主从同步配置看起来有点复杂,其实只要按顺序做,每一步都不难。关键是细节要准确,尤其是 server-id、权限和日志位置这些地方容易出错。
以上就是Sublime进行MySQL主从同步配置演示_适用于高可用读写分离结构部署的详细内容,更多请关注知识资源分享宝库其它相关文章!
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。