如果我重新安装 mysql 我会丢失我的数据库吗?

如果我重新安装 mysql 我会丢失我的数据库吗?

我在本地主机上安装了 MySQL。如果我遇到 mysql 问题并想重新安装它,会发生什么?我会丢失现有的数据库吗?

答案1

不会,重新安装mysql-server不会删除您的数据库文件,只会删除包文件mysql-server。重新安装服务器后,您将能够访问您的文件(数据库)。

清除并安装 mysql-server:

sudo apt-get purge mysql-server
sudo apt-get install mysql-server

如果您还想删除数据库,则必须先删除它,然后再删除 mysql。要彻底删除数据库,请在 mysql 提示符下键入:

drop database <database_name>

我找到了另一种删除数据库文件的方法,但我不确定这是否是一种干净的删除数据库的方法,因此请谨慎对待:

在 stackoverflow 上的一个问题

它(数据库文件的位置)是特定于安装的,但如果你有 /var/lib/mysql ,那么:

  • MyISAM 表将存储在 /var/lib/mysql/databasename/ 中的单独文件中
  • InnoDB 位于 /var/lib/mysql/ibdata 中(除非您使用了 innodb_per_table 设置,在这种情况下它的存储方式与 MyISAM 表非常相似)

因此,请检查这两个位置中的数据库的位置并删除数据库的目录(需要超级用户权限才能读取和删除)。

答案2

使用sudo apt-get remove mysql-server

不要使用sudo apt-get purge mysql-server,这将删除中的文件/var/lib/mysql

答案3

这是一个老问题,但尽管如此,以下是我的 5¢:

  1. 做一个备份首先是数据库,例如使用mysqldump
  2. 现在,执行sudo apt-get purge mysql-server mysql-server-5.7。它会询问您是否确实要删除数据库文件,请单击Yes
  3. 使用重新安装 mysqlsudo apt-get install mysql-server mysql-server-5.7
  4. 启动mysql数据库
  5. mysql使用命令行实用程序重新创建数据库及其用户
  6. 从备份中导入转储

你可能会问,整个过程有什么用处:有些情况下,mysql 数据库有很多大事务,占用了太多磁盘空间。销毁并重建数据库是再次缩小数据库的一种方法。

相关内容