MySQL主从复制是一种数据库复制技术,它允许一个MySQL数据库(主库)的数据被复制到一个或多个其他MySQL数据库(从库)。这种架构可以提高数据的可用性、读取性能和数据备份。
MySQL主从复制主要有三种类型:
以下是在Ubuntu上搭建MySQL主从复制的步骤:
sudo apt update
sudo apt install mysql-server
编辑主库的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
:
[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
重启MySQL服务:
sudo systemctl restart mysql
登录MySQL并创建复制用户:
mysql -u root -p
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
编辑从库的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
:
[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name
重启MySQL服务:
sudo systemctl restart mysql
登录MySQL并设置主库信息:
mysql -u root -p
CHANGE MASTER TO
MASTER_HOST='master_ip_address',
MASTER_USER='replication_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;
START SLAVE;
在主库上插入一些数据:
INSERT INTO your_table (column1, column2) VALUES ('value1', 'value2');
在从库上查询数据,确认数据已经同步:
SELECT * FROM your_table;
原因:可能是由于网络延迟、从库负载过高或主库写入压力大。
解决方法:
原因:可能是由于网络故障、主库或从库宕机、配置错误等。
解决方法:
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云