阅读量:0
MySQL主从复制的设置步骤如下:
- 配置主服务器:
- 打开MySQL配置文件
my.cnf
(在Linux系统中通常位于/etc/mysql/
目录下)。 - 在
[mysqld]
部分添加以下配置项,以启用二进制日志功能(Binary Log):log-bin=mysql-bin
。 - 确保
bind-address
参数设置为0.0.0.0
或主服务器的IP地址,以允许远程连接。 - 保存并关闭配置文件。
- 重启MySQL服务以使更改生效。
- 创建用于复制的用户:
- 登录到主服务器上的MySQL命令行。
- 创建一个具有复制权限的专用用户。例如:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
(其中password
是密码)。 - 授权该用户从任何主机进行复制:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
。 - 刷新权限:
FLUSH PRIVILEGES;
。
- 获取主服务器的二进制日志坐标:
- 在主服务器上执行以下命令,以获取当前二进制日志的文件名和位置(即坐标):
SHOW MASTER STATUS;
。 - 记录下返回的
File
和Position
值,稍后将用于从服务器的复制设置。
- 配置从服务器:
- 打开从服务器的MySQL配置文件
my.cnf
(路径与主服务器相同)。 - 在
[mysqld]
部分添加以下配置项:server-id
:设置一个唯一的从服务器ID,例如100
。relay-log
:指定中继日志文件的路径,例如/var/log/mysql/mysql-relay-bin
。log-slave-updates
:启用从服务器的中继日志功能,以便将更新记录到其中。read-only
:将MySQL服务设置为只读模式,以防止从服务器上的写操作干扰主服务器的数据一致性。
- 保存并关闭配置文件。
- 重启MySQL服务以使更改生效。
- 设置从服务器连接到主服务器:
- 在从服务器上登录到MySQL命令行。
- 使用之前创建的复制用户连接到主服务器:
mysql -h 主服务器IP -u repl -p
。 - 输入密码后,进入MySQL命令行界面。
- 运行以下命令,以启动从服务器的复制进程:
START SLAVE;
。 - 检查复制状态,确保一切正常:
SHOW SLAVE STATUS\G;
。如果返回的状态信息中Slave_IO_Running
和Slave_SQL_Running
均为Yes
,则表示复制正在正常运行。
至此,MySQL主从复制设置已完成。请注意,这些步骤可能因操作系统、MySQL版本或具体需求而略有不同。建议参考相关的MySQL官方文档或咨询专业人士以获取更详细的指导。