[这更像是一篇操作指南]
Ubuntu 升级到 18.04 的过程中有一个窗口询问我想要对 MariaDB 安装做什么 -- 安装Debian 中的 MariaDB或保留我的安装(工作MariaDB 10.2安装。)我必须选择安装 Debian,这在当时对我来说是有意义的。不幸的是,这会将我的 10.2 数据库锁定(移动)到新位置/var/lib/mysql-10.2
。并将我的 MariaDB 安装降级为MariaDB 10.1在 Debian 中就位。不幸的是,只有在这个升级过程之后,我才意识到我必须进行转储/导入才能重新获得对我所有数据的访问权限。如果我得到的只是数据库文件/文件夹结构的副本,那么这并不容易/var/lib/mysql-10.2
。
现在我的服务器版本(升级到 Ubuntu 18.04 之后)是:10.1.29-MariaDB-6-Ubuntu 18.04
我最终卸载了 10.1 以及与之相关的所有内容
sudo apt-get purge mysql-server* mariadb*
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /var/log/mysql
重新安装MariaDB 10.2
sudo apt install mariadb-server-10.2
停止 mysql 服务器
sudo systemctl stop mysql
下列的这些方向我将丢失的数据库从/var/lib/mysql-10.2
复制回/var/lib/mysql
。仅缺少数据库文件夹和内容。并将这些文件:、、和替换为ib_buffer_pool
来自的原始文件ibdata1
ib_logfile0
ib_logfile1
/var/lib/mysql-10.2
重置文件夹和内容的权限
sudo chown -R mysql:mysql /var/lib/mysql
一切似乎都按计划进行,但不知何故我无法访问数据。最终让它成功的是以 root 身份运行此命令:
mysqlcheck --all-databases -p
如果你恢复运行,请确保删除innodb_force_recovery = 5
我希望这能帮助陷入同样境地的人。
答案1
如上所述... [这更像是一篇 How-To-Post]