MySQL主从同步是一种数据库复制技术,其中一个MySQL数据库服务器(主服务器)上的更改会被自动地传播到一个或多个其他数据库服务器(从服务器)。这有助于提高系统的可伸缩性、可用性和容错性。以下是设置MySQL主从同步的基本步骤:
步骤概述:
-
配置主服务器:
在主服务器上,编辑MySQL配置文件以启用二进制日志。这可以在MySQL配置文件(通常是my.cnf或my.ini)中的[mysqld]
部分中完成:[mysqld] log-bin=mysql-bin server-id=1
这里,log-bin
启用二进制日志,server-id
为主服务器分配一个唯一的标识符。确保MySQL服务已经启动。
-
创建用于复制的账户:
在主服务器上,为从服务器创建一个用于复制的账户。确保该账户有足够的权限进行复制。CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
在生产环境中,请为 ‘u_185’ 设置更强的密码,并将 ‘%’ 替换为从服务器的实际IP地址或主机名。
-
获取主服务器的二进制日志坐标:
在主服务器上执行以下命令,以获取二进制日志坐标信息,备用于从服务器的配置。SHOW MASTER STATUS;
记下结果中的 File 和 Position 值。
-
配置从服务器:
在从服务器上,编辑MySQL配置文件,启用从服务器功能。在配置文件中的[mysqld]
部分添加以下配置:[mysqld] server-id=2
然后重启MySQL服务。
-
设置从服务器复制参数:
在从服务器上执行以下命令,以将其连接到主服务器:CHANGE MASTER TO MASTER_HOST='主服务器IP地址', MASTER_PORT=主服务器端口, MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器的二进制日志文件', MASTER_LOG_POS=主服务器的二进制日志位置;
替换上述语句中的参数为您的实际值,使用主服务器的二进制日志坐标信息。
-
启动从服务器复制:
在从服务器上执行以下命令,启动从服务器的复制过程:START SLAVE;
您可以使用
SHOW SLAVE STATUS\G
查看从服务器状态,确保Slave_IO_Running
和Slave_SQL_Running
均为Yes
。
一旦设置完成,主服务器上的更改将自动传播到从服务器上。请确保网络连接稳定,以确保复制的可靠性。在进行生产环境的主从同步设置时,请仔细测试并备份数据,以防止意外情况。