配置MySQL主从复制需要进行以下步骤:
- 确保主数据库上已经开启二进制日志和唯一ID(server-id)配置,可以在MySQL配置文件中(一般是my.cnf)添加如下配置:
server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name
- 在主数据库上创建用于复制的用户,并授予REPLICATION SLAVE权限:
CREATE USER 'replication_user'@'slave_ip_address' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip_address';
-
在主数据库上执行
SHOW MASTER STATUS;
命令,记录下File和Position的值,将其用于配置从数据库。 -
在从数据库上编辑MySQL配置文件,添加如下配置:
server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log log_slave_updates = 1
- 在从数据库上执行以下命令配置从数据库连接主数据库:
CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_position;
其中,master_ip_address为主数据库地址,replication_user为创建的复制用户,password为密码,master_log_file和master_log_position为主数据库上SHOW MASTER STATUS;返回的File和Position的值。
- 启动从数据库的复制进程:
START SLAVE;
- 可以通过
SHOW SLAVE STATUS\G
命令来查看从数据库的复制状态。
配置完成后,主数据库上的数据变化会自动同步到从数据库上。