MySQL 主从复制的配置
by z9g
1. 主服务器的配置
my.cnf:
[mysqld] log-bin=mysql-bin server-id=1
server-id的值必须是 1 到 2^32-1 之间的正整数
2. 在主服务器上创建复制使用的帐户
GRANT REPLICATION SLAVE ON *.* TO "replication_user_name"@"slave_host_name" IDENTIFIED BY 'replication_password'; SHOW MASTER STATUS;
3. 备份数据
冷备份:直接停mysqld
热备份:
- flush tables;
- show master status; 记录下File和Position
- unlock tables;
复制数据:
- 拷贝master的mysql 数据目录到slave上
- 删除slave mysql数据目录下的master.info和relay-log.info
- chown -R mysq:mysql slave的mysql 数据目录
4. 从服务器的配置
my.cnf:
[mysqld] server-id=2
这里的server-id不能跟master的server-id重复
CHANGE MASTER TO MASTER_HOST='master_host_name', MASTER_USER='replication_user_name', MASTER_PASSWORD='replication_password', MASTER_PORT=master_host_port, MASTER_LOG_FILE='recorded_log_file_name', MASTER_LOG_POS=recorded_log_position, MASTER_CONNECT_RETRY=10; SLAVE START; SHOW SLAVE STATUS;
如果SHOW SLAVE STATUS 结果中
Slave_IO_Running=Yes
Slave_SQL_Running=Yes
表示同步成功。