TOPLOGO

[メモ] mysqldumpを復元するためのコマンド

2020-03-10 19:52:57

phpmysqlプログラミング

no_image
要約:macのターミナルにあるMAMPにデータを復元する方法

すぐ忘れるのでメモ

もしかすると過去に同じ内容を投稿した説もあるが、メモしておく。

何をしたいか

実働サーバーで使っているデータをローカルに移動したいということが半年に一度ぐらいある。

ローカルでデータを復元し、作業してから実働サーバーに戻すというような作業だ。

まずバックアップをする

使っているレンタルサーバーからバックアップボタンをクリックする。それだけで[dump]ファイルを作成する。

作成したdumpファイルはサーバー上にあるので、FTPソフトでローカルにダウンロードする。

dumpコマンドなんかもあるが、レンタルサーバーでクリック1つで作成できるのでコマンドを使う必要はない。

mampのデータベースにdumpファイルを復元する

まず、phpmyadminなどを使ってデータベースを作成する。(入れ物)

次に、ターミナルを起動する。

コマンド: cd /Applications/MAMP/Library/bin/ をターミナルに打ってmysqlの場所まで移動する。

コマンド: ./mysql -u root -p hoge2 < /Users/username/Desktop/mysqlxxxx.dump で復元が完了する

このコマンドは、最初の./mysqlの./が必要だったり、途中の<の向きだったり、.dumpファイルをフルパスで指定したりとなかなか一発で覚えられない。(のでメモ)。ついでにUsers/の最初にも/が必要。(フルパスだから当然)

hoge2は、作ったデータベースの名前だ。この名前はなんでもいい。

検索すると、dumpファイルの場所の話がほとんど出てこなかった。デスクトップにおいてあるdumpファイルを復元するのにどこか特殊な場所に移動するのかなと思っていたこともあるが、フルパスで指定してやればどこでもOKだ。

100万件を超えるデータも数秒で完了する

phpmyadminでインポートしようとするとおそらくPCが固まるが、(phpの設定もいじる必要がありそうだ)ターミナルで直接入れてやると数秒で完了した。あまりに早いので焦ったレベルだ。(5分ぐらいかかるならお茶での飲もうかと)100万件を超えているようなデータを復元したいときはこの方法しかなさそうだと思う。

まとめ

経験者なら数分でできる仕事も初見だと簡単に詰むのがプログラマという仕事の面白いところだ。

半年後また、復元方法を検索している自分がいるのも今の時点でわかっている。

 リンク