美文网首页
MySQL 配置流复制

MySQL 配置流复制

作者: 饱饱想要的灵感 | 来源:发表于2023-10-10 09:49 被阅读0次

要配置MySQL流复制,您可以按照以下步骤进行操作:

  1. 确保所有要参与复制的MySQL实例都使用相同的版本并且已经安装和配置正确。
  2. 在主数据库上,打开MySQL服务器配置文件(通常是my.cnfmy.ini),向文件中添加以下配置:
[mysqld]
log-bin=mysql-bin
server-id=1

其中,log-bin指定二进制日志文件的名称,server-id指定服务器的唯一标识,可以使用服务器IP。

  1. 重启主服务,使配置文件中的更改生效。
systemctl restart mysqld.service
  1. 在主服务器上创建一个用于复制的专用账户,并授予该账户复制权限。例如,可以使用以下命令创建账户,并为其授予复制权限:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

请将replication_user替换为您希望使用的用户名,password替换为您希望使用的密码。

  1. 在主服务器上执行以下命令来获取二进制日志的当前位置:
SHOW MASTER STATUS;

将结果记录下来,以备后续使用。

  1. 在从服务器上打开MySQL服务器配置文件,并添加以下配置:
[mysqld]
server-id=2

其中,server-id指定服务器的唯一标识,与主服务器的标识不同。

  1. 重启从服务,使配置文件中的更改生效。
systemctl restart mysqld.service
  1. 在从服务器上执行以下命令来配置从服务器连接到主服务器:
CHANGE MASTER TO
  MASTER_HOST='master_ip_address',
  MASTER_USER='replication_user',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='logfile_from_MASTER_STATUS',
  MASTER_LOG_POS=log_position_from_MASTER_STATUS;
  
#延迟流复制 单位秒
CHANGE MASTER TO MASTER_DELAY=10800;

请将master_ip_address替换为主服务器的IP地址,replication_user替换为在步骤4中创建的账户名,password替换为该账户的密码,logfile_from_MASTER_STATUSlog_position_from_MASTER_STATUS替换为在步骤5中获取的主服务器二进制日志的位置。

  1. 启动从服务器上的复制进程:
START SLAVE;
  1. 检查从服务器的状态,确保复制正在运行:
# 表格格式查看
SHOW SLAVE STATUS;
# json格式查看
SHOW SLAVE STATUS\G

在输出中的Slave_IO_RunningSlave_SQL_Running列应该显示Yes,表示复制正在运行。

以上就是配置MySQL流复制的基本步骤。

请注意,每次更改主服务器的配置或从服务器的my.cnf文件后,都需要重启服务systemctl restart mysqld.service才能生效。

相关文章

网友评论

      本文标题:MySQL 配置流复制

      本文链接:https://www.haomeiwen.com/subject/tjvbbdtx.html