将我的网络服务器从 12.04.5 LTS 升级到 16.04.2 LTS 后,我的网络服务器不再工作,我被迫重新安装服务器。
不幸的是,我只能从 /var/lib/mysql 备份原始数据库文件,而无法进行 .sql 备份。
我已使用 Ubuntu 16.04.2 LTS 重新安装了服务器,并将备份的数据库文件复制到相应位置,但它们不起作用。权限设置为 mysql:mysql - 所以这不是问题。在旧系统上,我的 MySQL 版本是 5.5.53,新版本现在是 5.7.19。系统正在运行 Plesk Onyx 17.5.3 Update #17。
我怎样才能正确转换原始 MySQL 文件 (*.frm、*.myd、*.myi),使其在升级后的服务器上正常工作?
我怀疑我必须先将旧文件转换为.sql格式,然后在新服务器上再次导入它们?
但如何呢?
我是 Linux 新手,但对运行命令行命令了解得足够多。我经常使用 Midnight Commander 进行配置等,以及使用 Plesk。
答案1
你可能首先需要使用兼容环境检查数据库。例如 docker 容器
docker run --name mysql55 --detach --env=MYSQL_ROOT_PASSWORD=root mysql/mysql-server:5.5.53
会给你这样的环境 https://severalnines.com/blog/mysql-docker-containers-understanding-basics 告诉你如何从那里开始。
现在,您可以检查其他版本是否能够导入。就我个人而言,我不会直接选择 5.7.19,因为该版本的“功能”使其比 5.7.14 等版本更难处理。例如,在我的环境中,5.7.14 docker 映像可以在 Mac 和 Linux 上运行,但 5.7.19 不行。请参阅http://wiki.bitplan.com/index.php/Docker_on_Mac