使っていますMySQLデータベースへUbuntuマシン。
私のものMySQLデータディレクトリには/var/lib/mysql/
'というディレクトリがあるからです。データベーステストdb_test/
「だから、以下にディレクトリがあります。/var/lib/mysql/
すべてのテーブル情報は次の場所にあります。/var/lib/mysql/db_test/
/var/lib/mysql# ls
db_test
/var/lib/mysql# cd db_test
/var/lib/mysql/db_test# ls
cars.frm
cars.MYD
cars.MYI
customers.frm
customers.MYD
...
私が達成したいのは簡単です。 「という名前の新しいディレクトリを作成します。サポート」、そしてすべてのファイルを次に移動します。 /var/lib/mysql/db_test/
/var/lib/mysql/backup/
ディレクトリに。だから以下のコマンドを実行しています。私のホームディレクトリのサブディレクトリ:
~/tmp$ sudo mkdir /var/lib/mysql/backup
~/tmp$ sudo mv /var/lib/mysql/db_test/* /var/lib/mysql/backup
最初のmkdir
コマンドが正常に実行され、以下に「backup /」という新しいディレクトリが作成されます。/var/lib/mysql/
しかし、2番目のコマンドは失敗しました。、次のエラーメッセージが表示されます。
mv: cannot stat `/var/lib/mysql/db_test/*': No such file or directory
なぜ? ?私のdb_test/
ディレクトリにテーブルファイルがたくさんありますが、/var/lib/mysql/
エラーメッセージが表示されるのはなぜですか?
ポリスチレン
rootユーザーだけがアクセスできることを知っています/var/lib/mysql/
。これが理由ですか? (しかし私は使用しましたsudo
)よくわかりません...そしてどうやって取り除きますか?
ベストアンサー1
$ sudo mv /var/lib/mysql/db_test/* /var/lib/mysql/backup
これを入力すると、ユーザーのシェルは拡張を試みます/var/lib/mysql/db_test/*
。ユーザーがディレクトリへのアクセス権を持っていない場合は失敗し、置換は行われません。
したがって、mv
コマンドの実行は次のようになりますsudo
。/var/lib/mysql/db_test/*
言葉ファイル名。その名前のファイルが存在しません。
以下を試してください。
$ sudo sh -c 'mv /var/lib/mysql/db_test/* /var/lib/mysql/backup'
しかし、あなたはそうしなければなりません。本物、本物データベースのバックアップにデータベースツールを使用することを検討してください。