Назад | Перейти на главную страницу

как исправить поврежденные, не закрытые чисто и обновить необходимые таблицы в mysql

Когда я перезапускаю сервер mysql в Debian, у меня всегда появляются следующие сообщения. Как заставить исчезнуть сообщения или исправить проблемные / поврежденные таблицы?

debian:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

Linux /var/log/syslog показывает

Jul 18 12:27:57 localhost mysqld: 140718 12:27:57 [Note] /usr/sbin/mysqld: Normal shutdown
Jul 18 12:27:57 localhost mysqld:
Jul 18 12:27:57 localhost mysqld: 140718 12:27:57 [Note] Event Scheduler: Purging the queue. 0 events
Jul 18 12:27:57 localhost mysqld: 140718 12:27:57  InnoDB: Starting shutdown...
Jul 18 12:27:58 localhost mysqld: 140718 12:27:58  InnoDB: Shutdown completed; log sequence number 0 44233
Jul 18 12:27:58 localhost mysqld: 140718 12:27:58 [Note] /usr/sbin/mysqld: Shutdown complete
Jul 18 12:27:58 localhost mysqld:
Jul 18 12:27:58 localhost mysqld_safe: mysqld from pid file /var/run/mysqld/mysqld.pid ended
Jul 18 12:28:00 localhost mysqld_safe: Starting mysqld daemon with databases from /mnt/user/mysql
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] Plugin 'FEDERATED' is disabled.
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00  InnoDB: Started; log sequence number 0 44233
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] Event Scheduler: Loaded 0 events
Jul 18 12:28:00 localhost mysqld: 140718 12:28:00 [Note] /usr/sbin/mysqld: ready for connections.
Jul 18 12:28:00 localhost mysqld: Version: '5.1.49-3~bpo50+1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11601]: Upgrading MySQL tables if necessary.
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: Looking for 'mysql' as: /usr/bin/mysql
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11605]: This installation of MySQL is already upgraded to 5.1.49, use --force if you still need to run mysql_upgrade
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11611]: Checking for insecure root accounts.
Jul 18 12:28:01 localhost /etc/mysql/debian-start[11615]: Triggering myisam-recover for all MyISAM tables

не следуйте 1-му ответу, это очень плохая проблема.

Если вы правильно прочитали строку, вы увидите, что проблем нет, потому что таблица не повреждена или что-то еще можно найти

«Проверка на наличие поврежденных, не полностью закрытых и требующих обновления таблиц», так что все в порядке.

Пара вариантов, которые мне подходят. 1) найдите все процессы MySql, запущенные на вашем debian:

ps -A | grep mysql

И если он запущен, убейте его:

kill -9 <ps_number which is second column number>

2) другой вариант - запустить mysql с локальным хостом и типичным номером порта для него

sudo mysql -h 127.0.0.1 -P 3306 -u root -p <database>

https://stackoverflow.com/a/11658142/2523431

3) Самый дикий; удалите mysql и переустановите (решение найдено в другом сообщении, однако на данный момент не могу вспомнить ссылку для подтверждения): С помощью команды:

sudo apt-get remove --purge mysql\*

вы можете удалить все, что связано с пакетами с именем mysql. Эти команды действительны только в дистрибутивах Linux на основе debian / debian (например, ubuntu). Вы можете перечислить все пакеты mysql, установленные с помощью:

sudo dpkg -l | grep -i mysql

Для дополнительной очистки кеша пакетов вы можете:

sudo apt-get clean

Запомни:

sudo updatedb

В противном случае команда «найти» отобразит старые данные. Чтобы снова установить mysql, используйте следующую команду:

sudo apt-get install libmysqlclient-dev mysql-client

Это установит клиент mysql, libmysql и его файлы заголовков. Чтобы установить сервер, запустите этот:

sudo apt-get install mysql-server

Есть и другие варианты, рекомендованные другими парнями, например перезапись файла конфигурации, но в моем случае (я запускаю mysql в Kali Linux, основанном на Debian) не помогло.

Кстати, не забудьте закрыть систему командой:

shutdown -h now

это должно предотвратить дальнейшие неудобства в будущем.