我托管在 Media Temple DV 3.5 服务器上,希望从 mysql 5.0.90 升级到最新的 mysql,以便我可以使用触发器和外键。我对此有点紧张,因为我没有与我的生产服务器相匹配的“测试”服务器。
我们有完整的服务器备份,所以如果出现问题,我知道我可以随时恢复,但我很好奇,有没有办法备份所有的 mysql 数据(所有数据库、所有用户、一切),使用 Yum 包管理器运行 mysql 更新(我们有 CentOS 5.3),然后在升级后导入丢失的数据(如果有的话)?
答案1
输出mysqldump
文件是有效的 SQL,因此您可以在文件中随意选择您想要的内容。
所以,是的,如果数据理论上消失了,您可以有选择地从转储中替换它。
答案2
升级时请务必小心。我从未依赖过 mysql 的升级脚本。我自己编写脚本。
请点击此处了解如何将整个数据库 mysqldump 为一个文件、单独的数据库、单独的表,甚至如何将 SQL Grants 转储为 SQL,而不是使用 mysqldump。
如果你对所有内容进行完整的 mysqldump,您无法将 mysql.user 导入到更高版本的 mysql 中,因为 mysql.user 在主要版本中有所不同。