ホームページ  >  記事  >  データベース  >  Linux で mysql コマンドを使用してデータをバックアップする問題の詳細な説明

Linux で mysql コマンドを使用してデータをバックアップする問題の詳細な説明

黄舟
黄舟オリジナル
2017-03-03 14:30:051471ブラウズ

ここ数日、会社は新しいコンポーネントベースのプロジェクトを立ち上げました。これには、mysql データベース関連テクノロジの使用が必要です。私は以前 mongodb を使用していたので、mysql のことをほとんど忘れていました。そのため、学習を開始することしかできませんでした。 Linux 仮想マシンでもう一度実行します。

基本的な追加、削除、変更、確認は問題ありませんでしたが、幸いにもデータのバックアップでいくつかの問題が発生しました。

インターネット上で言及されているMysqlのAPIとバックアップコマンドは、 mysqldump -uroot –p バックアップするデータベース名 > 対象パス/対象ファイル名.sql なので、入力したのですが、結果は 2002 Exception (追加: 最初にこのコマンドを使用したとき、mysqldump が見つからないというメッセージが表示されました。その後、ソフト リンク ln を使用して mysqldump コマンドの実際のアドレスを usr/bin に接続しました):

mysqldump:Got error: 2002: Can't connect to local MySQL server through socket'/tmp/mysql.sock' (2) when trying to connect,
如图1:

図 2 に示すように、いくつかの変更が加えられました。


ただし、現時点では 2002 は利用できなくなり、代わりに 1045 エラーが表示されます。 mysqldump: Got error: 1045: Access Deny for図 3 に示すように、ユーザー 'root' @'localhost' (パスワードを使用: YES) で接続しようとしました:


これは、root ユーザーと localhost の権限に問題があることを意味していると思います。図 4 に示すように、ホストは % に設定されていました。




そこで、インターネットで検索した後、別のバックアップコマンドを見つけました。図 5 に示すように、これが機能することがわかりました。


この時点で、mysql データベースは Linux 仮想マシンに正常にバックアップされましたが、このコマンドは長すぎると思いました。 API は正しいはずなので、最適化する必要があると考えました。

ということで、エラー1045が発生したので、おそらくユーザー権限に問題があると推測できるので、ここから始めます root localhostがない場合は追加します。図 4 に示すように、データベースに入り、mysql を使用して、図 6 に示すようにユーザーを追加します。


ユーザー テーブルを再度確認すると、図に示すように、正常に追加されたことがわかります。図 7:


その後、図 8 に示すように、最適化後にバックアップ コマンドを実行できます。


明らかにコマンドは短くなりましたが、まだ十分に短くないので、次のように検索しました。情報を再度確認し、解決策を見つけました。mysql.sock の実際のアドレスを 2002 エラーのアドレスにリンクする必要があります。私の変更は図 9 に示すとおりです。 API の内容を確認します。コマンドを入力して Enter キーを押すと、再び成功します。図 10 に示すように、バックアップが完了しました。


3 つのコマンド メソッドに細分化されています。理解するだけでも、実際には 1 つだけであることがわかります。

上記は、Linux で mysql コマンドを使用してデータをバックアップする問題の詳細な説明です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。