mysql主从复制步骤
时间: 2024-01-23 20:06:53 浏览: 81
MySQL主从复制是MySQL数据库中常用的一种数据备份和读写分离方案。以下是MySQL主从复制的步骤:
1. 确保主从服务器的MySQL版本一致,并且主从服务器之间可以互相访问。
2. 在主服务器上修改配置文件(my.cnf或my.ini),开启二进制日志(binary logging)。在配置文件中添加以下配置:
```
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
```
server-id是主服务器的唯一标识,可以为任意整数,但每个服务器必须有不同的id。log_bin指定二进制日志文件的位置。
3. 重启主服务器以加载新的配置。
4. 在主服务器上创建用于复制的用户,并授予复制权限。例如,可以使用以下命令创建一个名为replication_user的用户:
```sql
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
```
这将创建一个具有复制权限的用户,并刷新权限表。
5. 在从服务器上修改配置文件,开启复制功能。在配置文件中添加以下配置:
```
server-id = 2
replicate-do-db = dbname
```
server-id是从服务器的唯一标识,与主服务器不同。replicate-do-db指定需要复制的数据库名,可以根据需要修改或省略。
6. 重启从服务器以加载新的配置。
7. 在从服务器上执行以下命令开始复制:
```sql
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.XXXXXX', MASTER_LOG_POS=XXX;
START SLAVE;
```
其中,MASTER_HOST是主服务器的IP地址,MASTER_USER和MASTER_PASSWORD是在第4步中创建的复制用户的用户名和密码。MASTER_LOG_FILE和MASTER_LOG_POS分别指定主服务器上要复制的位置。
8. 检查复制状态,可以使用以下命令:
```sql
SHOW SLAVE STATUS\G
```
检查结果中的Slave_IO_Running和Slave_SQL_Running字段是否为"YES",如果是,则表示主从复制已成功启动。
这些步骤概述了MySQL主从复制的基本过程。根据具体情况和需求,可能需要进行进一步的配置和调整。
阅读全文