5.全データベースバックアップ保存

レンタルサーバに関する覚え書き

カテゴリー: CORESERVER  閲覧数:969 配信日:2013-02-17 13:59


全データベースバックアップ保存
※ トップディレクトリに、mysql.dump(MySQL)mysql_DB名.dump(MySQL)、pgsql.dump(PostgreSQL) pgsql_DB名.dump(PostgreSQL)としてデータを保存/バックアップします。
※事前に、過去に保存した「dump」データを整理しておく
※「作業中」「作業終了」ステータス確認手段はない

CORESERVER凶悪仕様
・「全データベースバックアップ保存」したデータは、ファイル名変更しないと「コントロールパネル」より、復元できない。理由は、個別保存した場合とファイル名が異なる仕様になっているから。具体的には、「_ユーザー名」を削除しなければいけない。分かるかそんなもん!
・結局、リネームが必要なため、ダウンロード後、ファイル名一括変更
・また、要件不明だが、ある一定以上のテーブル数、もしくは容量のdumpデータは、「コントロールパネル」から保存できない。その際、ファイルが出来なかったり空だったら、dump取得失敗に気が付くのだが、テーブルが空のdumpデータが作成されてしまう(ファイルサイズも存在する)ため、余計に紛らわしい。もちろん、エラーメッセージも表示されない


phpMyAdminでのエクスポート失敗
・上記大容量(?)DUMPデータは、phpMyAdminでも取得不可
・もちろん、失敗しても、エラーメッセージ等は何も表示されない


SSH接続後、コマンドで、DUMPデータ取得
・大容量データは、最終的に、この方法で取得するしかないらしいい
・ところが、超久しぶりにコマンド打つためか、何遍やっても、マニュアル見てね、エラーになる
・原因は、MySQLへログインした状態でdumpデータコマンド打っていたから
・それにしても、もう少し気の利いたエラーメッセージ表示させてほしいものだ
ユーザ名@サーバ名:~> mysqldump -u データベースユーザ名 -p データベース名 > 任意ファイル名dump.sql;
・これで、ようやくイケた、と思ったら、何だよ。またエラーかよ!
mysqldump: Got error: 23: Out of resources when opening file './★/■.MYD' (Errcode: 24) when using LOCK TABLES
--skip-lock-tables をつけてmysqldump実行
ユーザ名@サーバ名:~> mysqldump --skip-lock-tables  データベースユーザ名 -p データベース名 > 任意ファイル名dump.sql;
Enter password:
・ようやく取得できた
・やっぱ、コマンドが最強なのかー