重新启动 MySQl 从属服务器的安全/正确方法是什么。我需要重新启动机器才能更新内核并应用一些配置更改。
我已经在实验室中对其进行了测试,但不幸的是它没有正常工作:
- 我关闭了从属服务器的电源。
- 我在主服务器上创建了一个只有一张简单表的新数据库
- 我启动了从属服务器(我没有注意到日志中有任何错误)从属服务器具有正确的主日志位置,但在从属服务器关闭时主服务器上没有创建任何数据。当我在主服务器上创建新数据时,主日志位置会更新,但从属服务器上却没有出现该数据?
我想知道在重新启动服务器之前是否应该采取一些额外步骤,例如“SLAVE STOP;”等等。
我还有另一个关于 Percona Xtradb 备份的问题。当此脚本在从服务器上运行时,它会在主服务器后面运行(I/O 不高,而且我已经设置了 --throttle 选项)
从属服务器可以落后于主服务器的最大值是多少,并且仍然能够赶上主服务器?
答案1
我曾有过从服务器比主服务器晚 24 小时甚至更长时间的情况。假设主服务器不删除其二进制日志文件(有一个设置可以自动执行此操作),那么一切就都好了。
停止从属服务器的正确方法是发出SLAVE STOP
命令,然后使用 init 脚本停止 MySQL 服务器,并给它时间保存所有文件并正确关闭所有内容。我还使用该sync
命令将文件刷新到磁盘,然后最终重新启动服务器。
虽然工作量很大,但这样更安全。也许这个SLAVE STOP
命令不是真的需要,但数据库永远不能太安全。只需记住在重新启动服务器后重新启动它即可。
如果这不起作用,则说明您的复制设置有问题。我也使用 percona DB,并且我多次这样做。