web-dev-qa-db-ja.com

CentOS-MySQLデータベースをバックアップ/復元しようとしていますか?

CentOS 6サーバーでサーバーの問題が発生したため、カスタマーサポートがサーバーのバックアップを取り、再インストールしました。

バックアップは/ home/42406というフォルダーにあります。

'mariomansion'というMySQLデータベースを見つけようとしています。

LAMPをインストールしてmysqldumpを試しましたが、データベースが見つからないと表示されました。

/ home/42406/var/lib/mysqlにアクセスすると、2つのフォルダーが見つかりました。1つはmariomansionと呼ばれ、もう1つはmysqlと呼ばれます。 mariomansionフォルダーには、テーブルの名前が付いた.frm、.myd、および.myiファイルが含まれています。

SQLデータベースファイルをバックアップから戻すにはどうすればよいですか?

2
LifeMushroom

Mariomansionディレクトリとそのすべてのファイルを/ home/42406/var/lib/mysqlから/ var/lib/mysqlにコピーできますか?ここにデータベースファイルがCentOSシステム上にありますが、そこに配置するには/ var/lib/mysqlへのルートアクセスが必要になります。あなたが試すことができます:

cp --recursive /home/42406/var/lib/mysql/mariomansion /var/lib/mysql/.

サーバーへのルートアクセス権がある場合は、ファイルを自分でそこに置くことができるはずです。 [〜#〜] lamp [〜#〜] スタックをインストールした場合は、rootアクセス権があると思います。そうでない場合は、それを行うためにカスタマーサポートを受ける必要があるかもしれません。

ディレクトリとそのファイルの所有者とグループは、そこに配置されたときにmysqlである必要があります。ディレクトリとそのファイルをそこにコピーできる場合は、次のコマンドを使用して所有権を変更できます。

chown --recursive mysql /var/lib/mysql/mariomansion
chgrp --recursive mysql /var/lib/mysql/mariomansion

ディレクトリの所有者であるmysqlは、読み取り、書き込み、および実行アクセス、つまりrwxを持っている必要があります。「x」を使用すると、ディレクトリの所有者(この場合はmysql)がディレクトリに入り、ファイルやその中のディレクトリにアクセスできます。 chmod 700 /var/lib/mysql/mariomansionを使用してディレクトリの権限を設定できます。私のCentOSサーバーでは、データベースのすべてのファイルに、所有者とグループのアクセスが読み取りと書き込みに設定されています。これは、chmod 660 /var/lib/mysql/mariomansion/*で設定できます。

ファイルをMySQL、または MariaDB の場所に戻すと、代わりにMySQLの fork を使用している場合は、それらを予期しているので、データベースに再度アクセスできるようになります。

0
moonpoint