|
|
|
| Вопрос в следующем: выполнил обновление версии сервера с 5.0.6 до 5.1.26, после обновления выполнил импорт базы через mysqldump.
Возникли два вопроса:
1. Сбросились все счётчики AUTO_INCREMENT у таблиц на 1. Обновил счётчики (ALTER TABLE ...), но после перезапуска сервера они опять сбрасываются на 1.
2. Делал экспорт в дамп (уже в новой версии сервера) через mysqldump, файл весит примерно 20 Мб, хотя старый дамп (из старой версии сервера) весит 50 Мб, почему так? | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 10:51)
| | нашёл такую вот ерунду на сайте mysql.com
InnoDB supports the AUTO_INCREMENT = N table option in CREATE TABLE and ALTER TABLE statements,
to set the initial counter value or alter the current counter value.
The effect of this option is canceled by a server restart, for reasons discussed earlier in this section.
здесь я так понял говорится о том что после рестарта сервера конструкция auto_increment применяемая при
создании либо изменении таблицы игнорируется
после импорта базы я применял alter table table_name auto_increment = value во время сеанса
с базой, соответсвенно во время сеанса данное значение сохранялось, но после рестарта сервера
оно опять сбрасывалось на 1
таким образом вопрос в том как это исправить?
да кстати, про "for reasons discussed earlier in this section" - там говорится о механизме
присвоения полям auto_increment новых значений, и упоминается системная переменная
innodb_autoinc_lock_mode
кто сможет помочь, буду очень благодарен, потому что завис вопрос с переводом баз под новую
версию сервера | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 13:14)
| | вот ссылочка если кому поможет
http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 13:19)
| | судя по тексту, при запуске сервера происходит инициализация счётчика для каждой таблицы, который сохраняется в оперативной памяти на всё время сеанса.
получается у меня не происходит этой инициализации? | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 13:14)
| | Не понятно, у вас таблицы пустые? Если да, то с какой целью устанавливаются начальные значения счетчика? Вообще такого не должно быть, у вас какой тип таблиц используется? | |
|
|
|
|
|
|
|
для: cheops
(29.07.2008 в 13:49)
| | база не пустая, в таблицах есть строки, соответственно AUTO_INCREMENT не 1
перенёс базу через дамп со старой версии на новую, счётчики сбросились на 1 | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 13:57)
| | Удивительно, посмотрите внутри дампа операторы CREATE TABLE в них параметр AUTO_INCREMENT присутствует и какое значение он принимает? Отличное от 1? | |
|
|
|
|
|
|
|
для: cheops
(29.07.2008 в 14:02)
| | в дампе в конструкции CREATE TABLE параметр AUTO_INCREMENT отсутствует | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 14:43)
| | При создании дампа нужно было поставить галочку "Сохранить AUTO_INCREMENT" | |
|
|
|
|
|
|
|
для: Proger
(29.07.2008 в 16:59)
| | пробовал и в дампе прописать значение AUTO_INCREMENT в конструкции CREATE TABLE, не помогло, после рестарта сервера счётчик сбрасывается на 1.
я так понял это косяк сервера, поставил версию 5.1.16, всё заработало как надо | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 17:29)
| | Ну вообще говоря ветка 5.1.x пока не является релизом, хотя очень близка к этому. Поэтому ошибки в ней могут встречаться. | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 14:43)
| | >в дампе в конструкции CREATE TABLE параметр AUTO_INCREMENT отсутствует
Это баг младших версий ветки 5.0.* . Позже был исправлен.
Дамп нужно либо руками поправить... либо залить, исправить таблицы и снять по новой на новом сервере. | |
|
|
|
|
|
|
|
для: Trianon
(29.07.2008 в 17:28)
| | как я и писал всё это пробовал (исправлять, перезаливать), не помогает, поставил младшую версию, сработало. | |
|
|
|
|
|
|
|
для: ronin80
(29.07.2008 в 10:51)
| | >2. Делал экспорт в дамп (уже в новой версии сервера) через mysqldump, файл весит
>примерно 20 Мб, хотя старый дамп (из старой версии сервера) весит 50 Мб, почему так?
Сложно сказать, без сравнения дампов, может кодировка теперь UTF-8, а раньше была однобайтовая? Или используется полная вставка, вместо краткого или многострочного варианта (последнее, кстати, можно настроить, правда в не phpMyAdmin, хотя может и там уже прикрутили настройку). | |
|
|
|