Копирование и перезапись одной базы данных в другую с помощью mysql

Я хочу скопировать мою производственную базу данных в мою среду разработки. Я скопировал website_production в mysql моей среды developemnt, поэтому используя SHOW DATABASES; теперь у меня есть

website_development website_production

Как базы данных. Как скопировать и перезаписать все таблицы с их содержимым из website_production в website_developemnt с помощью команд mysql?

2 ответов


это не команды MySQL, но это самый простой метод из командной строки:

$ mysqldump -u user --password=pass live_db_name | mysql -u user --password=pass -h localhost duplicate_db_name

работает и на терминале Windows.


это решение я использую для разработки среды Wordpress устанавливает. В моем случае wp_options данные я перезаписать, используя значения из wp_options_apache. В Примере #1 запрос перезаписывает только 1 значение на строку, обновленную в таблице, но можно легко перезаписать несколько столбцов, разделив назначения запятыми, как во втором примере.

Пример 1:

    UPDATE `wp_options` AS a
    LEFT JOIN `wp_options_apache` AS b
    ON a.option_name = b.option_name
    SET a.option_value = b.option_value;

Пример #2:

    UPDATE `old_data` AS o
    LEFT JOIN `new_data` AS n
    ON o.prime_key = n.prime_key
    SET o.username = n.username,
        o.password = n.password,
        o.email = n.email;