首先,你需要在本地建立两个MySQL服务,指定不同的端口。例如,一个作为主库运行在3306端口,另一个作为从库运行在3307端口。然后,修改主库的配置文件,设置server-id为1,并指定要同步的数据库(例如test)和二进制日志文件名称(例如mysql-bin)。同样地,修改从库的配置文件,设置server-id为2,并...
Mysql 主从复制 当主库挂掉,从库还有复制延迟时,应该怎么样恢复完整
在主从复制环境中,如果主库突然出现故障,而从库还存在复制延迟的情况,我们应当采取以下步骤来恢复数据一致性。
首先,你需要在本地建立两个MySQL服务,指定不同的端口。例如,一个作为主库运行在3306端口,另一个作为从库运行在3307端口。然后,修改主库的配置文件,设置server-id为1,并指定要同步的数据库(例如test)和二进制日志文件名称(例如mysql-bin)。同样地,修改从库的配置文件,设置server-id为2,并配置相同的二进制日志文件。
接着,在主库中添加一个名为repl的用户,并赋予其复制权限。可以通过执行以下命令来完成:create user 'repl'@'127.0.0.1' identified by 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'; 确保两个数据库的初始状态一致。这可以通过停止服务并复制数据文件夹来实现。
之后,在主库中执行show master status; 命令来获取文件和位置参数。然后,在从库中设置master参数,包括主机地址、端口、用户名、密码以及刚才获取的文件和位置。最后,启动从库的复制功能。
如果主库出现故障,你需要停止主库服务,将数据文件夹复制到主库,并重新启动主库。然后,在从库中重新设置master参数,并启动复制功能。一旦复制过程完成,从库将恢复与主库的数据一致性。
需要注意的是,如果主库数据文件已经损坏,你可能需要从备份中恢复数据。在此情况下,建议定期进行数据库备份,并确保备份文件的完整性。2024-12-20