配置MySQL主从复制需先设置主服务器唯一ID并启用二进制日志,创建复制用户并授权,锁定主库获取日志坐标后导出数据;再配置从服务器不同server-id并启用中继日志,导入数据后执行CHANGE MASTER TO指定主库信息,最后启动SLAVE线程并检查复制状态。
创建MySQL数据库时配置复制功能,核心在于配置主服务器和从服务器,让从服务器能够实时或近实时地同步主服务器上的数据变更。这涉及到修改配置文件、创建复制用户、锁定主服务器、导入数据、以及启动从服务器等一系列步骤。
解决方案
配置主服务器 (Master Server)
my.cnf
/etc/my.cnf
/etc/mysql/my.cnf
[mysqld] server-id=1 # 主服务器唯一ID,必须是唯一的 log_bin=mysql-bin # 启用二进制日志 binlog_do_db=your_database_name # (可选) 只记录特定数据库的变更 #binlog_ignore_db=database_to_ignore # (可选) 忽略特定数据库的变更
server-id
log_bin
binlog_do_db
binlog_ignore_db
sudo systemctl restart mysql
创建复制用户 (Replication User)
在主服务器上创建一个专门用于复制的用户,并授予相应的权限。
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
replication_user
your_password
REPLICATION SLAVE
'%'
锁定主服务器并获取二进制日志坐标
在开始同步数据之前,需要锁定主服务器,并获取当前的二进制日志文件名和位置。
FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
FLUSH TABLES WITH READ LOCK
SHOW MASTER STATUS
备份主服务器数据
使用
mysqldump
mysqldump -u root -p --all-databases --single-transaction --master-data=2 > backup.sql
--all-databases
--single-transaction
--master-data=2
解锁主服务器:
UNLOCK TABLES;
配置从服务器 (Slave Server)
my.cnf
[mysqld] server-id=2 # 从服务器唯一ID,必须与主服务器不同 relay-log=relay-mysql-bin # 启用中继日志 #replicate_do_db=your_database_name # (可选) 只复制特定数据库的变更 #replicate_ignore_db=database_to_ignore # (可选) 忽略特定数据库的变更
server-id
relay-log
replicate_do_db
replicate_ignore_db
sudo systemctl restart mysql
导入数据到从服务器
将之前备份的数据导入到从服务器。
mysql -u root -p < backup.sql
配置从服务器连接到主服务器
使用
CHANGE MASTER TO
CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='replication_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='之前记录的二进制日志文件名', MASTER_LOG_POS=之前记录的二进制日志位置;
master_server_ip
MASTER_LOG_FILE
MASTER_LOG_POS
启动复制
启动从服务器的复制线程。
START SLAVE;
检查复制状态
使用
SHOW SLAVE STATUS
SHOW SLAVE STATUS\G
关注
Slave_IO_Running
Slave_SQL_Running
Yes
Last_Errno
Last_Error
如何处理主从复制延迟?
主从复制延迟是指从服务器落后于主服务器的时间。 延迟可能由多种因素引起,例如网络延迟、主服务器的负载、从服务器的硬件性能等。
slave_parallel_workers
SHOW SLAVE STATUS
主从复制有哪些常见的拓扑结构?
主从复制的拓扑结构有很多种,常见的有:
如何进行主从切换?
主从切换是指在主服务器发生故障时,将从服务器提升为新的主服务器。 主从切换可以分为手动切换和自动切换两种方式。
手动切换:
STOP SLAVE
RESET MASTER
自动切换:
可以使用一些工具来实现自动切换,例如 MHA (Master High Availability)。 这些工具可以监控主服务器的状态,并在主服务器发生故障时自动将从服务器提升为新的主服务器。自动切换需要更复杂的配置,但也提供了更高的可用性。
以上就是mysql创建数据库时如何配置复制功能_mysql配置复制功能的详细步骤的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号