首都高赛车免安装正式中文版
6.7G · 2025-10-10
MySQL的主备(主从)配置是一种常见的数据高可用性和数据备份方案,主要用于实现数据的实时复制,确保数据的一致性和系统的容错能力。下面我将详细介绍如何配置MySQL的主备环境。
确保你的服务器上已经安装了MySQL,并且至少有两台服务器,一台作为主服务器(Master),另一台作为从服务器(Slave)。
在主服务器的MySQL配置文件(通常是my.cnf
或my.ini
)中添加或修改以下配置:
[mysqld] server-id = 1 # 唯一的服务ID,Master设为1 log-bin = mysql-bin # 启用二进制日志 binlog-do-db = your_database # 需要复制的数据库名,如果要复制所有数据库,可以使用 *
重启mysql服务
systemctl restart mysqld
登录MySQL,创建一个用于复制的专用用户:
# 创建用户并设置密码 # 创建一个名为 replicator 的用户,@'%' 表示该用户可以从任何主机(远程或本地)连接数据库 IDENTIFIED BY 'password'•:为用户设置密码为 password CREATE USER 'replicator'@'%' IDENTIFIED BY 'password'; # MySQL 中用于配置复制权限的 SQL 命令,命令解析如下: # GRANT REPLICATION SLAVE•:授予复制权限,允许用户进行数据同步操作。 # ON *.*:表示对所有数据库和表生效。 # TO 'replicator'@'%':将权限授予用户 replicator,并允许该用户从任何主机连接(% 表示任意主机) GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES; # 配置生效
SHOW MASTER STATUS;
记录下File
和Position
的值,稍后配置从服务器时会用到。
在从服务器的MySQL配置文件中添加或修改以下配置:
[mysqld] server-id = 2 # 唯一的服务ID,Slave设为2,与Master不同 relay-log = slave-relay-bin # 中继日志文件名,可选配置 read_only = 1 # 从服务器设置为只读模式,可选配置,防止误操作修改数据
重启MySQL服务
systemctl restart mysqld
CHANGE MASTER TO MASTER_HOST='master_ip', # 主服务器IP地址 MASTER_USER='replicator', # 复制用户名称 MASTER_PASSWORD='password', # 复制用户密码 MASTER_LOG_FILE='mysql-bin.000001', # 从SHOW MASTER STATUS得到的File值 MASTER_LOG_POS=123; # 从SHOW MASTER STATUS得到的Position值
注意替换master_ip
、password
、mysql-bin.000001
和123
为实际的IP地址、密码和日志位置。
SHOW SLAVE STATUSG;
检查Slave_IO_Running
和Slave_SQL_Running
两个字段是否都为Yes
,以确认复制正常运行。