首先创建复制账号并授予权限,使用CREATE USER和GRANT REPLICATION SLAVE命令;然后在主库配置文件中设置server-id、开启log-bin并指定binlog-format为ROW;重启MySQL服务后执行SHOW MASTER STATUS记录File和Position值,供从库CHANGE MASTER TO时使用,确保网络通畅且无server-id冲突即可建立复制。

在 MySQL 中配置复制(Replication)时,需要为从库(Slave)创建一个专用的复制账号,并赋予相应的权限。这个账号用于主库和从库之间的数据同步。以下是具体配置步骤和权限设置说明。
创建复制账号
登录到主库的 MySQL 实例,使用具有管理员权限的账户(如 root)执行以下命令:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
其中 repl 是复制账号的用户名,% 表示允许从任意 IP 连接,生产环境中建议限制为从库的实际 IP,例如 'repl'@'192.168.1.10',以提高安全性。
授予复制权限
复制账号需要具备 REPLICATION SLAVE 权限,这是 MySQL 中专门用于复制的权限类型:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
该权限允许从库连接主库并读取二进制日志(binary log)进行数据同步。不需要赋予其他额外权限如 SELECT 或 ALL PRIVILEGES,除非有特殊需求。
执行完后刷新权限:
FLUSH PRIVILEGES;
主库开启二进制日志和 server-id
确保主库已启用二进制日志(Binary Logging)并设置了唯一的 server-id。在主库的配置文件 my.cnf 或 my.ini 中添加或确认以下内容:
云模块_YunMOK网站管理系统采用PHP+MYSQL为编程语言,搭载自主研发的模块化引擎驱动技术,实现可视化拖拽无技术创建并管理网站!如你所想,无限可能,支持创建任何网站:企业、商城、O2O、门户、论坛、人才等一块儿搞定!永久免费授权,包括商业用途; 默认内置三套免费模板。PC网站+手机网站+适配微信+文章管理+产品管理+SEO优化+组件扩展+NEW Login界面.....目测已经遥遥领先..
[mysqld] server-id = 1 log-bin = mysql-bin binlog-format = ROW
重启 MySQL 服务使配置生效。其中 binlog-format = ROW 推荐用于基于行的复制,更安全且兼容性好。
查看主库二进制日志状态
配置完成后,运行以下命令查看主库当前的二进制日志位置,后续从库配置时会用到:
SHOW MASTER STATUS;
输出示例如下:
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 123456 | | | +------------------+----------+--------------+------------------+
记录下 File 和 Position 值,用于从库的 CHANGE MASTER TO 命令。
基本上就这些。只要账号权限正确、网络通、主库日志开启,复制就能顺利建立。不复杂但容易忽略细节,比如防火墙或 server-id 冲突。配置完成后,在从库使用 CHANGE MASTER TO 指定主库地址、账号、密码及日志位置即可启动复制。









