Надоело составлять каждый раз заново.
Создание дампа:
mysqldump -h127.0.0.1 -umims -pPASSXXX --default-character-set=cp1251 --compatible=mysql323 --add-drop-table --add-locks --skip-extended-insert mims > mims_db.sql
--default-character-set — надо переходить на UTF8, но пока имеем то что имеем
--compatible — часто приходится перегонять из одной БД в другую... (ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options, no_field_options. One can use several modes separated by commas.)
--skip-extended-insert — экспортируется в виде множесва INSERT-ов
Импорт его в существующую БД:
mysql -umims -pPASSYYYY --default-character-set=cp1251 --database=mims > mims_db.sql
Но при запуске мне выдалось сообщение:
Character set 'cp1251' is not a compiled character set and is not specified in the 'C:\mysql\share\charsets\Index.xml' file.
Добавил --character-sets-dir=C:\Internet\MySQL\share\charsets и стало хорошо. это ошибка перестала появляться
Правда обнаружилась еще одна загадка — все данные загружаются в кодировке latin1. Оказалось, что в экспортном файле есть строчка:
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mims` /*!40100 DEFAULT CHARACTER SET latin1 */;
Смена latin1 на cp1251 решило последнюю проблему.
А чтобы эта строчка не экспортировалась можно в первой команде поставить ключ --no-create-db или -n
Я понимаю, что можно настроить mySQL, чтобы все эти кодировки стояли по умолчанию, но порой бывает, что тебе говорят, вот тебе БД — работай с ней. И возникают вот такие непредвиденные трудности, о которых ты знаешь, если работаешь с этим довольно часто.
Оставляю себе на будущее эту заметку, чтобы потом не возиться долго...