MySQL主从复制是一种数据库复制技术,它允许一个MySQL数据库(主库)的数据被复制到一个或多个其他MySQL数据库(从库)。主库负责处理写操作,而从库则处理读操作,从而实现读写分离,提高系统的整体性能和可靠性。
假设我们有两台服务器,ServerA作为主库,ServerB作为从库。
编辑MySQL配置文件/etc/my.cnf:
[mysqld]
server-id=1
log_bin=mysql-bin
binlog_format=row重启MySQL服务:
sudo systemctl restart mysqld创建用于复制的用户:
CREATE USER 'replication_user'@'ServerB_IP' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'ServerB_IP';
FLUSH PRIVILEGES;查看主库状态:
SHOW MASTER STATUS;记录下File和Position的值,稍后在从库上配置时需要用到。
编辑MySQL配置文件/etc/my.cnf:
[mysqld]
server-id=2
relay_log=mysql-relay-bin
log_bin=mysql-bin
binlog_format=row
read_only=1重启MySQL服务:
sudo systemctl restart mysqld在从库上配置主库信息:
CHANGE MASTER TO
MASTER_HOST='ServerA_IP',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_file_name',
MASTER_LOG_POS=recorded_position;启动从库复制:
START SLAVE;检查从库复制状态:
SHOW SLAVE STATUS\G;确保Slave_IO_Running和Slave_SQL_Running都为Yes,表示主从复制正常工作。
没有搜到相关的文章