如何安全地更新服务器软件(没有风险丢失数据库中的数据)?

我打算使用运行Ubuntu Linux或CentOS的服务器作为我的项目。 服务器不会由托pipe公司pipe理,我会pipe理它myselff。 几年来,我一直在使用Ubuntu和CentOS,因此我很乐意在这类服务器上执行pipe理任务。

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

一个小例子。 假设在我开始软件更新的时候有很多的用户请求到服务器。 软件包pipe理器更新Apache和MySQL服务器。 这些服务器将被停止,升级和重新启动。 MySQL数据库中的数据会发生什么变化? 可能会被这个程序破坏(例如,由于不完整的请求)? 我该如何更新服务器软件并避免数据损坏?

谢谢

  1. 备份。 做定时备份。
  2. testing你的恢复。
  3. 进行更新时,请将网站放下。
  4. 如果你不能做到这一点,重新devise它,以便一台服务器停止服务不会影响您的网站,然后只是一次推出一台服务器的更新。

步骤4不会很容易。

别担心, 在CentOS上(也许在Ubunto上)当你用yum进行更新/升级时,基本上没有服务被重新启动。 进行更新/升级时,Apache不会重新启动。

我记得的唯一的服务,即在升级过程中重新启动是ssh – 但是你不会松动到服务器的连接。

升级后重新启动服务是您的决定。 如果你这样做,没有数据会丢失。 如果你打算重新启动mysql,最好是停止几秒钟的网站。 大多数人不会注意到这么短的停机时间。 我不记得确切的价值,但认为在4-5秒的时间超时将不会被tcp堆栈和应用程序(浏览器)注意到,