
Я хотел бы объединить два файла базы данных mysql (*.db) в одну базу данных. Обе базы данных имеют одинаковые таблицы. Есть ли простой способ сделать это?
решение1
Предположим, что есть две базы данных db1 и db2, мы можем сделать следующее:
1) Сделайте резервную копию db1 и db2 для вариантов отката:
mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql
2) Сделайте резервную копию db1 (только данные):
mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql
3) Загрузить дамп db1 в db2:
cat db1.sql | mysql db2
Итак, если обе базы данных имеют одинаковые таблицы, данные будут вставлены в таблицы. Если таблица не существует, то это приведет к ошибке. Вы можете пропустить эти ошибки и продолжить работу следующим образом:
cat db1.sql | mysql -u<user> -p<pass> db2 --force