mysql主从搭建
MySQL 主从搭建可以实现数据的实时备份和负载均衡。其中,主服务器负责写入操作,从服务器负责读取操作。以下是搭建 MySQL 主从架构的步骤:
环境准备 确保主从服务器上已经安装好 MySQL。确保主从服务器的网络是可访问的。
配置主服务器 编辑主服务器的 MySQL 配置文件(例如:
/etc/mysql/mysql.conf.d/mysqld.cnf
或/etc/my.cnf
):
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = mixed
binlog-do-db = your_database_name
1
2
3
4
5
2
3
4
5
修改完成后,重启 MySQL 服务:
sudo systemctl restart mysql
1
2
2
创建用于复制的用户:
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
mysql> FLUSH PRIVILEGES;
1
2
3
4
2
3
4
查询主服务器状态:
mysql> SHOW MASTER STATUS;
1
2
2
记录 File
和 Position
的值,稍后会用到。
- 配置从服务器 编辑从服务器的 MySQL 配置文件:
[mysqld]
server-id = 2
relay-log = mysql-relay-bin
log_bin = mysql-bin
1
2
3
4
5
2
3
4
5
重启 MySQL 服务:
sudo systemctl restart mysql
1
2
2
- 配置从服务器连接主服务器 在从服务器上执行以下命令,连接到主服务器:
mysql> CHANGE MASTER TO
-> MASTER_HOST = 'master_ip_address',
-> MASTER_PORT = port_number,
-> MASTER_USER = 'repl',
-> MASTER_PASSWORD = 'your_password',
-> MASTER_LOG_FILE = 'File',
-> MASTER_LOG_POS = Position;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
将 master_ip_address
替换为主服务器的 IP 地址,File
和 Position
替换为之前记录的值。
启动从服务器复制进程:
mysql> START SLAVE;
1
2
2
查看从服务器状态:
mysql> SHOW SLAVE STATUS\G;
1
2
2
确认 Slave_IO_Running
和 Slave_SQL_Running
的状态都是 Yes
,则主从复制配置成功。
注意: 主从配置可能会因版本差异而有所不同,请根据您实际使用的 MySQL 版本进行调整。
上次更新: 2023/04/21, 08:57:47