MySQLのデータベースをmysqlコマンドを使って保存・復元

9141 Views
MySQL
MySQLのデータベースをmysqlコマンドを使って保存・復元

筆者はホームページの作成依頼を受けた際、新規・リニューアルをとあず開発環境を立ち上げてそこで制作をしていきます。

受ける依頼としてWordPressやフルスクラッチのサイトを作ったりしますが、稀にデータベースがすごく大きくなるサイトがありエクスポート・インポートがPHPMyAdminからできなくなる時があります。。。

そんな時はターミナルなどでsshでログインし、コマンドを叩くことで解決できるので方法をご紹介。

SNSでシェア♪

スポンサーリンク

 

目次

SSHでログインする

今回の方法は前提としてSSHにログインする必要があります。

最近のレンタルサーバはsshがデフォルトで使えたりするので有名どころを使っているユーザは問題ないと思いますが、こういう問題が起きるサイトに限って使えないってこともしばしば、、、

そんな方はPHPを使ってSQLデータを保存(ダンプ)することも可能みたいなので、お試し下さい。

PHP、mysqldumpを使ってMySQLのデータベースをダンプする

 

保存(ダンプ)方法

sshでログイン後、sqlファイルを保存したいディレクトリまで移動して下さい。
そのディレクトリにログインしたユーザで書き込み権限がないと保存できないので注意して下さい。

移動後、以下のコマンドを入力して実行します。

mysqldump --single-transaction -u DBユーザ名 -p DB名 > 出力先ファイル名

実行後にDBユーザのパスワードを聞かれるので、入力してEnterを押して下さい。

これで保存は完了です。

 

復元方法

先ほど保存したファイルをftpでアップをして下さい。
アップが完了したら、sshでログインしファイルをアップしたディレクトリまで移動をして下さい。

移動後、以下のコマンドを入力して実行します。

mysql -u ユーザー名 -p データベース名 < dumpファイル名

実行後にDBユーザのパスワードを聞かれるので、入力してEnterを押して下さい。

これで復元は完了です。

 

ちなみに、、、

今回私が担当したリニューアル案件で、旧サーバのsqlをPHPMyAdminからエクスポートしようとしたらエラーとなったので、上記のコマンドを使ったのですが、エクスポートファイルの容量が5.5GBもありました、、、

リニューアル後はダンプファイルは50MBぐらいに収められたので、どんだけ無駄なことをしていたのか、、、

SNSでシェア♪

スポンサーリンク

関連記事