Архив метки: MySql

Несколько полезных команд при работе с mysql из-под ssh

Снятие и восстановление дампа базы данных

mysqldump -hhost -ulogin -ppassword --default-character-set=cp1251 db_name > dump.sql
mysql -hhost -ulogin -ppassword --default-character-set=cp1251 --database=db_name < dump.sql

Проблемы:

База в UTF-8
Используем значение ключа --default-character-set=utf8
Mysql валится по нехватке памяти при генерации большого дампа
Может помочь ключ --quick
Перенос с более новой версии на более старую
Используем ключ типа --compatible=mysql40
При переносе дампа с версии 4 на 5 муська ругается на поле CONDITION
При создании дампа надо использовать следующий ключ: -Q, --quote-names Quote table and column names with backticks (`).
Дамп слишком большой
Пакуем/распаковываем на лету

mysqldump ключи | gzip > base.sql.gz
zcat base.sql.gz | mysql ключи
База в InnoDB
используем такой набор ключей:

--skip-opt --add-drop-table --add-locks --create-options --quick --lock-tables --set-charset --disable-keys --default-character-set=...

Очистка базы В одну строку:

mysqldump -hhost -ulogin -ppassword -d --skip-opt --add-drop-table database | grep "^DROP TABLE" | mysql -hhost -ulogin -ppassword --database=database