在我安装mariadb之前,我有一个工作的mysql数据库
我正在按照教程安装一些东西,在某些时候我必须执行以下命令:apt-get install -y mariadb-server
我在粉红色的屏幕上有一条消息告诉我,我的mysql /目录已被移动到mysql-5.7中
现在我想我有另一个数据库,因为我的所有用户都消失了,我无法从任何地方等连接到它。所以我试图在/ var / lib /中重命名新的mysql目录以保持它作为备份,并重命名mysql -5.7 /目录到“mysql /”
然后我尝试了“服务mysql重启”但我有一个错误“[错误]未知/不支持的存储引擎:InnoDB”(来自systemctl status mysql.service)。
我在互联网上寻找解决方案,我找到了这个:“sudo -u mysql mysqld --skip-innodb --default-storage-engine = myisam”
但是我在“systemctl status mysql.service”中有一个新错误说:
" /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x570)[0x52ea30]
mysqld[130813]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f22a9354830]
mysqld[130813]: /usr/sbin/mysqld(_start+0x29)[0x523f09]
mysqld[130813]: The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
mysqld[130813]: information that should help you find out what is causing the crash.
mysqld[130813]: /usr/sbin/mysqld(_Z11mysqld_mainiPPc+0x570)[0x52ea30]
mysqld[130813]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f22a9354830]
mysqld[130813]: /usr/sbin/mysqld(_start+0x29)[0x523f09]
mysqld[130813]: The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
mysqld[130813]: information that should help you find out what is causing the crash.
mysql[130639]: ...fail!
systemd[1]: mysql.service: Control process exited, code=exited status=1
systemd[1]: Failed to start LSB: Start and stop the mysql database server daemon.
systemd[1]: mysql.service: Unit entered failed state.
systemd[1]: mysql.service: Failed with result 'exit-code'.
如何取回我的数据库?
我正在运行Ubuntu服务器16.04。
答案 0 :(得分:0)
我认为MariaDB无法处理您现有的InnoDB表。据我了解你的问题,你已经把你的旧数据放在正确的位置,但你仍然使用MariaDB而不是原始的MySQL。
请注意,它可能是由service mysql restart
启动的MariaDB服务器,因为MariaDB旨在成为MySQL的直接替代品。
所以你已经部分解决了你的问题,但缺少一步。我建议尝试以下方法:
1)卸载MariaDB。
2)重新安装MySQL。
3)停止MySQL(安装后它可能已经立即运行)。
4)您希望复制mysql-5.7
目录。如果是,请另外复制一份,删除mysql
目录,然后再次将mysql-5.7
目录的副本重命名为mysql
。
5)重启MySQL。
如果您没有mysql-5.7
目录的副本,请忽略步骤3)到5)并希望MariaDB在尝试读取InnoDB表时不会破坏您的数据。
如果您仍想迁移到MariaDB,可以使用mysqldump
之类的工具从MySQL导出数据(假设再次启动),并在安装后重新导入MariaDB。