创建具有REPLICATION SLAVE权限的复制账户并限制访问IP;2. 在主库配置文件中启用binlog并设置server-id、log-bin和binlog-format;3. 重启MySQL服务后执行SHOW MASTER STATUS获取binlog文件名和位置;4. 在从库执行CHANGE MASTER TO指定主库连接信息并启动START SLAVE;5. 检查SHOW SLAVE STATUS确保Slave_IO_Running和Slave_SQL_Running均为Yes,同时保障网络连通性与防火墙开放3306端口。

在MySQL中配置复制(Replication)时,需要设置一个专门用于主从同步的复制账户。这个账户供从库(Slave)连接主库(Master)时使用,用于读取主库的二进制日志(binlog)。以下是详细的配置步骤和注意事项。
创建复制账户
登录到主库的MySQL服务器,使用具有CREATE USER和REPLICATION SLAVE权限的账号(如root)执行以下命令:
语法示例:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
说明:
-
'repl'是复制账户的用户名,可自定义。 -
'%'表示允许从任意IP连接,生产环境建议限制为从库的IP,例如'repl'@'192.168.1.10'更安全。 -
REPLICATION SLAVE权限是必须的,它允许该账户读取主库的binlog日志。 - 执行后运行
FLUSH PRIVILEGES;刷新权限(通常自动完成,但建议执行)。
启用主库的二进制日志
复制依赖于主库的binlog,因此必须确保主库已开启并正确配置。编辑MySQL配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf):
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
参数解释:
-
server-id:每台MySQL实例必须有唯一ID,主库设为1,从库设为其他值(如2)。 -
log-bin:启用二进制日志,并指定文件前缀。 -
binlog-format:推荐使用ROW格式,更安全且适合大多数场景。
修改后重启MySQL服务使配置生效。
获取主库binlog位置
在主库上执行以下命令,查看当前binlog文件名和位置,用于从库初始化同步:
基于ECSHOP2.7.2制作,模板使用的是早期的凡客模板。整站大气,清爽。适合综合,鞋子,服饰类商城使用。具体安装方法在程序包中有说明,在使用之前请看下。 大体方法:1.上传程序至网站根目录,访问:域名/diguo (用户名:admin 密码:123456)2.设置好数据库信息,然后恢复数据,数据目录在www.shopex5.com下.3.修改data目录下的config数据库配置文件。4.登陆
输出示例:
+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1234 | | |
+------------------+----------+--------------+------------------+
记录下 File 和 Position 值,后续配置从库时会用到。
从库配置复制连接
在从库MySQL中执行以下命令,设置主库连接信息:
CHANGE MASTER TOMASTER_HOST='主库IP地址',
MASTER_USER='repl',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=1234;
START SLAVE;
执行后检查从库状态:
SHOW SLAVE STATUS\G重点关注以下两个字段:
Slave_IO_Running: YesSlave_SQL_Running: Yes
如果都为Yes,说明复制正常运行。
基本上就这些。只要主库开启binlog、创建了具备REPLICATION SLAVE权限的账户,并在从库正确配置连接参数,复制就能顺利建立。注意网络连通性和防火墙设置,确保从库能访问主库的3306端口。









