web-dev-qa-db-ja.com

誤ってMariaDBを介してMariaDBをインストールしました。 Mysqlデータベースを回復するにはどうすればよいですか?

MariaDBをインストールしましたが、Mysqlに置き換わることに気づきませんでした。インストール中に、Mysqlデータディレクトリをmysql-5.7に移動しました。 MariaDBを削除してMysqlを再インストールし、データベースをmysql-5.7からmysqlに移動して、Mysqlを再起動するだけでデータベースを復元しようとしました。 mysqlは再び起動しないため、ここで提案されているようにmysqldumpを使用できません- mariadbへのアップグレード後にmysqlデータベースを復元する方法 。データベースを復元するにはどうすればよいですか?

参考までに、Ubuntu Server 16.04とMysql 5.7を実行しています。

3
Pockets

私はこれを理解しました:

  1. 名前を変更したフォルダー(/var/lib/mysql_5.7)を安全な場所にコピーします。 (所有権と権限を保持している場合は、おそらく手順4でそれらの修正をスキップできます。)

  2. MySQLをアンインストールし、/ var/lib /からすべてのmysql関連フォルダーを削除します。

  3. MySQLを再インストールします。

  4. 新しい/ var/lib/mysql /ファイルとフォルダーの権限を確認します。バックアップしたファイルが一致しない場合は、一致するように修正します。 (私のものは

    chown -R mysql:mysql location_to_backed_up_folder/

    chmod 750 location_to_backed_up_folder/mysql/ location_to_backed_up_folder/any_other_folders/

    chmod 640 location_to_backed_up_folder/all_other_files

  5. Mysqlを停止します

  6. バックアップしたフォルダーの名前を「mysql」に変更します

  7. バックアップされたフォルダーとファイルを(所有権とアクセス許可を保持して)/ var/lib /にコピーします

    cp -aR location_of_backed_up_folder/ /var/lib/

  8. Mysqlを再起動します

3
Pockets

一時的な場所にmysql-5.7のコピー(maria dbのインストール中に[/var/lib)がある場合、Maria Dbの使用を継続できます。

これで、/var/libに、現在のデータベース(古いダンプなし)であるmysqlというフォルダーができます。

次に、mysqlを停止します。安全のため、/var/libのmysqlフォルダーをある場所に移動し、mysql-5.7フォルダーを/var/libに移動して、mysqlに名前を変更します。以前のmysqlフォルダーに設定したのと同じ特権を設定します。

Mysqlサービスを再起動します。これで古いダンプが得られます。

2
resh