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
修改完成后,重启 MySQL 服务:
sudo systemctl restart mysql
创建用于复制的用户:
mysql> CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
mysql> FLUSH PRIVILEGES;
查询主服务器状态:
mysql> SHOW MASTER STATUS;
记录 File
和 Position
的值,稍后会用到。
[mysqld]
server-id = 2
relay-log = mysql-relay-bin
log_bin = mysql-bin
重启 MySQL 服务:
sudo systemctl restart mysql
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;
将 master_ip_address
替换为主服务器的 IP 地址,File
和 Position
替换为之前记录的值。
启动从服务器复制进程:
mysql> START SLAVE;
查看从服务器状态:
mysql> SHOW SLAVE STATUS\G;
确认 Slave_IO_Running
和 Slave_SQL_Running
的状态都是 Yes
,则主从复制配置成功。
注意: 主从配置可能会因版本差异而有所不同,请根据您实际使用的 MySQL 版本进行调整。