Копирование и перезапись одной базы данных в другую с помощью 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;