阅读量:119
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官方文档或咨询专业人士以获取更详细的指导。