HighLab

vagrant 本番環境のデータベースのインポート方法

  • 公開日:
  • 更新日:
  • 文字数:754文字

vagrant up後
vagrant ssh

db wp import /vagrant/file_name.sql

そうすると、
'/vagrant/export_0219.sql': Table 'table_name' already exists
というエラーになります。

このエラーの解決方法は、
本番環境のデータベースをエクスポートする際に、簡易エクスポートではなく、詳細を設定してあげます。
生成オプションに下記項目3つがデフォルトではチェックされてないので、チェックをいれて、エクスポートします。

CREATE DATABASE / USE コマンドを追加する
DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する
IF NOT EXISTS (less efficient as indexes will be generated during table creation)

その後エクスポートしてみると、
Access denied for user 'wordpress'@'%' to database 'user_name'

上記エラーがでます。
なので、
24行目、25行目のユーザー名が本番環境のままなので、ローカルに書き換えます。
vagrantで最初に登録したwordpressを書き換えます。

CREATE DATABASE IF NOT EXISTS wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE wordpress;

これでエクスポートしてうまくできました!

参考になれば幸いです。