SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.09.2010 18:33:57

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

mysql_upgrade вешается

Обновил сервер с 5.0.45 до 5.1.50 (win64). После установки запускаю утилиту

Код:

>mysql_upgrade -u root -ppass

В процессе работы тулза утыкается в некоторые таблицы и замирает. Ничего особенного в этих таблицах нет вроде, например вот сейчас вздернулся на вордпрессовской  `wp_options`. Вешается навсегда, самое неприятное, что если грохнуть процесс, то он переходит вот в такое состояние:

Код:

4886    root    127.0.0.1:2415    test2    Killed    14943    Repair with 2 threads    REPAIR TABLE `wp`.`wp_options`

Соответственно таблица залочена насмерть.

Помогает только ребут сервера. Если запустить mysql_upgrade еще раз после ребута - ситуация повторяется. Что с этим можно поделать?

(одно решение - сдампить таблицу и создать заново, но их у меня ~50000 и с ними работают)

Неактивен

 

#2 03.09.2010 20:29:36

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: mysql_upgrade вешается

Отредактировать mysql_upgrade и закомментировать запуск mysql_check smile

Неактивен

 

#3 03.09.2010 22:02:02

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: mysql_upgrade вешается

Ага, учитывая что в mysql_check весь смысл этой тулзы, то можно и просто не запускать smile

Ну а серьезно, чего делать то с этим? В лог валятся ошибки про таблицы "Invalid (old?) table or database name"

Неактивен

 

#4 04.09.2010 10:59:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: mysql_upgrade вешается

Нет, конечно. Смысл этой утилиты — в том, чтобы обновить то, что не обновлено.
Как правило обновляются столбцы таблиц в базе MySQL. А вот формат данных
MyISAM не обновлялся сто лет — Вы просто делаете лишний check. Но если хотите
делать check — тогда Вам стоит его дождаться, да.

Неактивен

 

#5 04.09.2010 15:33:49

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: mysql_upgrade вешается

Но ведь check там не простой - CHECK TABLE tbl FOR UPGRADE - он наверно тоже какие то специфические вещи делает?
Но тогда просто проблема в другом - почему вешается check? и что с этим делать. Таблица, на которой он вешается - 500 килобайт, думает он над ней много часов, и явно не собирается заканчивать.
Кстати совет отредактировать mysql_upgrade.exe прикольный smile

Неактивен

 

#6 04.09.2010 16:06:21

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: mysql_upgrade вешается

Хм. И правда бинарник smile

А просто прибить check во время работы?

Неактивен

 

#7 04.09.2010 16:40:19

Shopen
Гуру
Откуда: Москва
Зарегистрирован: 22.10.2007
Сообщений: 362

Re: mysql_upgrade вешается

Так я же написал еще в первом сообщении. Тред переходит в состояние Killed и в таком сотоянии остается висеть навечно, таблица при этом блокируется полностью. Помогает только рестарт mysql.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson