MySQL主从配置实战教程

需积分: 9 8 下载量 54 浏览量 更新于2024-09-08 收藏 22KB DOCX 举报
"MySQL主从配置的完整步骤" 在MySQL数据库系统中,主从配置是一种常见的高可用性和数据冗余策略,它允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。这种配置在大型应用、分布式系统以及备份策略中非常常见。以下是配置MySQL主从复制的详细步骤: 一、主库配置 1. 创建复制用户: 在主服务器上,你需要创建一个用于复制的用户,并赋予其必要的权限。例如,创建名为'jack'的用户,允许其从特定IP地址(192.168.203.55)连接,并设定密码为'123',并赋予所有数据库的所有权限: ``` mysql> grant all on *.* to 'jack'@'192.168.203.55' identified by '123'; ``` 2. 修改配置文件: 编辑`/etc/my.cnf`,添加`server-id`字段以标识主服务器(这里设为88),并启用`log-bin`来记录二进制日志。同时,确保移除默认的`server-id=1`,因为每个服务器的`server-id`必须是唯一的。 ```ini [mysqld] server-id = 88 log-bin = mysql-bin ``` 3. 重启MySQL服务: 停止MySQL服务,然后重新启动以应用配置更改: ``` /usr/local/mysql/bin/mysqladmin -u root -p shutdown /usr/local/mysql/bin/mysqld_safe --user=mysql & ``` 4. 获取主库的binlog信息: 登录MySQL,使用`SHOW MASTER STATUS;`命令查看当前的二进制日志文件名(例如:mysql-bin.0000010)和位置(例如:106)。 二、从库配置 1. 修改从库配置文件: 同样地,编辑从服务器上的`/etc/my.cnf`,设置不同的`server-id`(如168),并可选择性地开启`log-bin`,但不是必需的。 ```ini [mysqld] server-id = 168 log-bin = mysql-bin ``` 2. 重启从库服务: 关闭并重启MySQL服务以应用新的配置: ``` /usr/local/mysql/bin/mysqladmin -u root -p shutdown /usr/local/mysql/bin/mysqld_safe --user=mysql & ``` 3. 初始化从库: 在从库上停止已有的复制进程(如果有的话): ``` mysql> STOP SLAVE; ``` 4. 设置从库复制参数: 使用`CHANGE MASTER TO`命令,指定主库的IP、复制用户、密码、以及从主库获取的binlog文件名和位置: ``` mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.17.66', -> MASTER_USER='jack', -> MASTER_PASSWORD='123', -> MASTER_LOG_FILE='mysql-bin.0000010', -> MASTER_LOG_POS=106; ``` 5. 开启从库复制: 最后,启动从库的复制进程: ``` mysql> START SLAVE; ``` 至此,主从配置完成。主库的任何数据更改都将被记录在二进制日志中,并同步到从库。请注意,这只是一个基础配置,实际环境中可能需要考虑更多的安全因素,如加密连接、更复杂的用户权限管理等。同时,监控和维护主从复制的状态也是十分重要的,以确保数据的一致性和系统的稳定性。