实现MySQL 1主2从 弊端
1. 流程概述
在实现MySQL的1主2从架构中,我们需要完成以下步骤:
- 配置MySQL主服务器
- 配置MySQL从服务器1
- 配置MySQL从服务器2
- 确认主从服务器之间的连接
- 进行数据同步测试
下面我们将逐步详细说明每个步骤需要做什么,以及相应的代码和注释。
2. 配置MySQL主服务器
首先,我们需要配置MySQL主服务器。以下是相关步骤及代码:
步骤 | 操作 | 代码及注释 |
---|---|---|
1 | 确保MySQL主服务器已正确安装并启动。 | 无需代码 |
2 | 修改MySQL主服务器的配置文件my.cnf,在[mysqld]下添加如下代码,开启二进制日志功能: <br>log-bin=mysql-bin <br>server-id=1 |
需要修改配置文件my.cnf |
3 | 重启MySQL主服务器,使配置生效。 | service mysql restart |
3. 配置MySQL从服务器1
接下来,我们需要配置MySQL从服务器1。以下是相关步骤及代码:
步骤 | 操作 | 代码及注释 |
---|---|---|
1 | 确保MySQL从服务器1已正确安装并启动。 | 无需代码 |
2 | 修改MySQL从服务器1的配置文件my.cnf,在[mysqld]下添加如下代码,开启二进制日志功能: <br>log-bin=mysql-bin <br>server-id=2 |
需要修改配置文件my.cnf |
3 | 重启MySQL从服务器1,使配置生效。 | service mysql restart |
4. 配置MySQL从服务器2
然后,我们需要配置MySQL从服务器2。以下是相关步骤及代码:
步骤 | 操作 | 代码及注释 |
---|---|---|
1 | 确保MySQL从服务器2已正确安装并启动。 | 无需代码 |
2 | 修改MySQL从服务器2的配置文件my.cnf,在[mysqld]下添加如下代码,开启二进制日志功能: <br>log-bin=mysql-bin <br>server-id=3 |
需要修改配置文件my.cnf |
3 | 重启MySQL从服务器2,使配置生效。 | service mysql restart |
5. 确认主从服务器之间的连接
在配置完主服务器和从服务器后,我们需要确保主从服务器之间的连接正常。以下是相关步骤及代码:
步骤 | 操作 | 代码及注释 |
---|---|---|
1 | 登录MySQL主服务器,并执行如下SQL语句,创建用于从服务器连接的用户和权限: <br>CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; <br>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; <br>FLUSH PRIVILEGES; |
mysql -u root -p <br>[输入密码] <br>CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; <br>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; <br>FLUSH PRIVILEGES; |
2 | 登录MySQL从服务器1,并执行如下SQL语句,设置从服务器1与主服务器的连接信息: <br>CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器二进制日志文件名称', MASTER_LOG_POS=主服务器二进制日志位置; <br>START SLAVE; |
mysql -u root -p <br>[输入密码] <br>CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器二进制日志文件名称', MASTER_LOG_POS=主服务器二进制日志位置; <br>START SLAVE; |
3 | 登录MySQL从服务器2,并执行如下SQL语句,设置从服务器2与主服务器的连接信息: <br>CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='主服务器二进制日志文件名称', MASTER_LOG_POS=主服务器二进制日志位置; <br>START SLAVE; |
mysql -u root -p <br>[输入密码] <br>`CHANGE MASTER TO MASTER_HOST='主 |