sidewalkcafe blog

日々是好日

Mac/XAMPP/MySQL覚え書き

MacのXAMPPでMySQLデータベースのバックアップ

MySQLデータのバックアップにはコマンドラインからmysqldumpを呼び出す
Windowsのコマンドプロントの使い方はよく見るけどMacはあまり見なかったのでメモ
Macはターミナルというユーティリティを使います

MacのXAMPPでmysqldump
  • 1.MySQLのパスワード設定
    • mysqldumpを使うにはMySQLの管理パスワードを設定する必要がある
      • 別に設定しなくても良いがセキュリティ的に必須
    • XAMPPを起動、コントロールからApacheMySQLをスタートさせる
    • http://localhost/xampp/ をブラウザから開く
    • セキュリティ メニューを開く
      • 初期設定時にはここからMySQLのROOTパスワードが変更できるようになっている
      • パスワードを忘れた場合の再設定は後記
  • 2.root(super user)の設定
    • ターミナルからmysqldumpを呼び出すにはroot権限がいるので設定
    • アプリケーション > ユーティリティ > ターミナル を起動
    • コマンド入力画面で sudo passwd root[return]
    • New Password: と聞いてくるのでrootのパスワードを入力
    • [return]で設定完了
    • su[return] と入力するとパスワードを聞かれるので先ほど設定したパスワードでログイン
    • カーソルの前が root# となっていれば成功
  • 3.mysqldumpの呼び出し
    • 以下のようにdumpコマンドを呼び出してバックアップデータを作成する
    • /Applications/XAMPP/xamppfiles/bin/mysqldump -u root -p --all-databases > All_db_dump.sql
      • ファイル名は好きにしたら良い(mysqldumpとかallsqldumpとか)
    • パスワードを聞かれるのでMySQLのパスワードを入力する
    • 暫くするとdumpファイルができあがる(通常は[ディスク名]/User/[ユーザ名]/ に作られてる)
    • dumpファイルを適当な場所に移動・コピーして終り
  • 4.MySQLのパスワードを忘れた場合の再設定方法
    • まず、MySQLが起動してる場合はXAMPPのコントロールパネルから停止しておく
    • ターミナルに以下のコマンドを入力しMySQLデーモンを起動する
      • /Applications/XAMPP/xamppfiles/sbin/mysqld --skip-grant-tables --user=root
    • なんか色々出たあと動かなくなるので[ファイル]メニューから[新規シェル]で新しい窓を開く
    • 以下のようにMySQLへパスワードなしで接続する
      • /Applications/XAMPP/xamppfiles/bin/mysql -u root
    • パスワード再設定のコマンドは以下の通り
      • update mysql.user set password=password('新しいパスワード') where user='root';
    • Query OK,うんちゃら と出れば成功
    • exit[return] で mysql> を抜けたあと、killall mysqld[return] として、mysqldを終了しておきましょう
      • mysqldが起動したままだと、XAMPPのコントロールパネルからMySQLを起動しようとしてもエラーが出るので