подводные камни MySQL
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
подводные камни MySQL
Недавно переносил базу (использует таблицы myisam, innodb) и натолкнулся на ошибки errno: 121, 151 (проблема с созданием таблицы). Ошибки повстречались мне при заливке дампа на хранилище (дамп снимал с помощью mysqldump). Заглянул в appendix на dev.mysql.com и понял, что до меня базу переносили, но некорректно. Оказалось причина в том, что в innodb-файлах остались данные о таблицах, хотя команда SHOW TABLES их не показала.
Как я устранил проблему?: создал пустую базу в новом хранилище и все файлы из директории этой базы в старом хранилище перелил в соответствующую директорию нового хранилища, затем запустил команду mysqladmin drop ИМЯ_БАЗЫ. На запрос о подтверждении удаления ответил YES (эта процедура корректно удалила все таблицы).
После вышеописанных манипуляций заливка дампа прошла успешно.
Как я устранил проблему?: создал пустую базу в новом хранилище и все файлы из директории этой базы в старом хранилище перелил в соответствующую директорию нового хранилища, затем запустил команду mysqladmin drop ИМЯ_БАЗЫ. На запрос о подтверждении удаления ответил YES (эта процедура корректно удалила все таблицы).
После вышеописанных манипуляций заливка дампа прошла успешно.
Последний раз редактировалось weec 2008-12-20 21:54:00, всего редактировалось 3 раза.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: подводные камни MySQL
что есть дамп?weec писал(а):это при заливке дампа на хранилище
если SQL, то проблем не должны было быть, если файлы, то нужно юзать mysqlhotcopy
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
Re: подводные камни MySQL
спасибо, подправил
mysqlhotcopy не приходилось использовать
SQL, многие встречались с такими ошибками, глянь google
mysqlhotcopy не приходилось использовать
SQL, многие встречались с такими ошибками, глянь google
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: подводные камни MySQL
весьма странно... ну ладно, будем знать -)))) спасибо за инфу!
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
Re: подводные камни MySQL
до сих пор не могу понять, почему в руководствах по репликации лочат таблицы перед использованием mysqldump ?
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: подводные камни MySQL
чтоб целостность базы не нарушить, страховка, одним словом -)))
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
Re: подводные камни MySQL
нет возможности снять дамп когда таблицы залочены
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: подводные камни MySQL
смотря кто лочит. Лочить может и сам дампер.
- weec
- лейтенант
- Сообщения: 948
- Зарегистрирован: 2007-07-24 11:17:35
- Откуда: Afghanistan
- Контактная информация:
Re: подводные камни MySQL
weec писал(а):до сих пор не могу понять, почему в руководствах по репликации лочат таблицы перед использованием mysqldump ?
Хранимые процедуры и mysqldump
Никогда не понимал, почему каждый раз при переезде сервера на новое железо, приходится перетаскивать хранимые процедуры отдельно.
Для тех, кто обладает памятью, лучшей, чем у меня: экспорт хранимых процедур и функций включается параметром --routines, например:
mysqldump --routines --extended-insert berserk > outputfile.sql
Если же база уже перенесена, и не хватает лишь переноса хранимых функций и процедур, можно воспользоваться командой:
mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt berserk > outputfile.sql
Название базы (berserk) выделено курсивом, вероятно, вам потребуется его заменить. Импорт в базу на новом сервере можно осуществить так:
mysql newberserk < outputfile.sql
Выполнит импорт в базу newberserk. Очень жаль, что --routines до сих пор не является параметром по умолчанию.
http://baron.su/archives/135-Hranimye_p ... ldump.html