如何安全地更新服务器软件(而不丢失数据库中的数据)?

如何安全地更新服务器软件(而不丢失数据库中的数据)?

我将使用运行 Ubuntu Linux 或 CentOS 的服务器来处理我的项目。服务器将不由托管公司管理,我将自行管理。我已经使用 Ubuntu 和 CentOS 几年了,因此我可以轻松地在这种服务器上执行管理任务。

但我对软件更新有疑虑。使用包管理器(例如 Ubuntu 中的 apt-get)更新它没有问题,但我不确定如何保证数据安全。

举个小例子。假设当我开始软件更新时,有很多用户请求发送到服务器。包管理器更新 Apache 和 MySQL 服务器。这些服务器将被停止、升级并重新启动。MySQL 数据库中的数据会发生什么?它会因这个过程而受损吗(例如,由于请求不完整)?我该如何更新服务器软件并避免数据受损?

谢谢

答案1

  1. 备份。按计划进行备份。
  2. 测试您的恢复。
  3. 进行更新时请关闭网站。
  4. 如果您不能这样做,请重新构建它,以便单个服务器停止服务不会影响您的网站,然后只需一次在一个服务器上推出更新。

第四步并不容易。

答案2

不用太担心。在 CentOS 上(可能在 Ubunto 上也一样),当您使用 yum 进行更新/升级时,基本上不会重新启动任何服务。当您进行更新/升级时,Apache 不会重新启动。

我记得的唯一在升级期间重新启动的服务是 ssh - 但您不会丢失与服务器的连接。

升级后是否重启服务由您决定。如果您操作得当,则不会丢失任何数据。如果您计划重启 mysql,最好将网站停止几秒钟。大多数人不会注意到这么短的停机时间。我不记得确切的值,但我认为在 4-5 秒的时间内,tcp 堆栈和应用程序(浏览器)不会注意到超时

相关内容