温馨提示×

mysql主从复制怎样设置

小樊
81
2024-09-27 16:10:43
栏目: 云计算

MySQL主从复制的设置步骤如下:

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

至此,MySQL主从复制设置已完成。请注意,这些步骤可能因操作系统、MySQL版本或具体需求而略有不同。建议参考相关的MySQL官方文档或咨询专业人士以获取更详细的指导。

0