web-dev-qa-db-ja.com

mysqlを再インストールすると、データベースが失われますか?

LocalhostにMySQLをインストールしています。 mysqlに問題があり、再インストールしたい場合はどうなりますか?既存のデータベースは失われますか?

14
user3018393

いいえ、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に関する質問 から:

It(データベースファイルの場所)はインストール固有ですが、/ var/lib/mysqlがある場合:

  • MyISAMテーブルは/ var/lib/mysql/databasename /の個々のファイルに保存されます
  • InnoDBは/ var/lib/mysql/ibdataにあります(innodb_per_table設定を使用していない限り、MyISAMテーブルのように保存されます)

そのため、これら2つの場所でデータベースの場所を確認し、データベースのディレクトリを削除します(読み取りおよび削除にはスーパーユーザー権限が必要です)。

11
jobin

apt-get removeを使用します。 apt-get purgeを使用しないでください。/var/lib/mysql内のファイルが削除されます。

0
Zahid Gill

これは古い質問ですが、それでも、私の5¢は次のとおりです。

  1. 最初にデータベースのbackupを実行します(例:mysqldumpを使用)。
  2. 次に、Sudo apt-get purge mysql-server mysql-server-5.7を実行します。データベースファイルを本当に削除するかどうかを尋ねられます。Yesをクリックします
  3. Sudo apt-get install mysql-server mysql-server-5.7を使用してmysqlを再インストールします
  4. Mysqlデータベースを起動します
  5. mysqlコマンドラインユーティリティを使用して、データベースとそのユーザーを再作成します
  6. バックアップからダンプをインポートします

この手順全体が何に適しているのかを尋ねることができます。mysqlデータベースに多数の大きなトランザクションがあり、ディスク上の多くのスペースを占有している場合があります。データベースの破棄と再構築は、データベースを再び縮小する方法です。

0
jknappen