Проблема
Я запускаю MySQL 5.5.23 на Mac OS 10.8.2, и я не могу удалить конкретную базу данных, но могу оставить другие.
Когда я пытаюсь удалить конкретную таблицу, я получаю эту ошибку:
#1548 - Cannot load from mysql.proc. The table is probably corrupted
Попытка исправления
- Я перезапустил систему
- Я попытался перезапустить MySQL через CLI
-
$ sudo /usr/local/mysql/support-files/mysql.server stop
- но получил эту ошибку
ERROR! MySQL server PID file could not be found!
-
- Я восстановил таблицу mysql.proc.
-
REPAIR TABLE mysql.proc
-
REPAIR TABLE mysql.proc USE_FRM
-
- Я восстановил все таблицы mysql. *.
-
REPAIR TABLE mysql.*
-
- При запуске mysqlcheck из командной строки
-
mysqlcheck --repair --all-databases
-
mysqlcheck --repair specific-db
- Я получил эту ошибку:
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) when trying to connect
- Я получил эту ошибку:
-
Текущее состояние
Я все еще не могу отказаться от исходной конкретной базы данных, но могу оставить другие.
Обновление [1] 2013-01-05 11:15 утра [Нью-Йорк]
Журналы и обратная связь (за @Thomas в комментариях) Чтобы найти все журналы, я запустил (cli):
$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'
Я получил эту обратную связь:
130105 11:35:21 [Warning] Can't create test file /usr/local/mysql-5.5.23-osx10.6-x86_64/data/wills-mbp.lower-test
130105 11:35:21 [Warning] Can't create test file /usr/local/mysql-5.5.23-osx10.6-x86_64/data/wills-mbp.lower-test
130105 11:35:21 [Note] Plugin 'FEDERATED' is disabled. /usr/local/mysql/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
130105 11:35:21 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
Я просматриваю mysql_upgrade
.
Обновление [2] 2013-01-05 16:04 [Нью-Йорк]
Я запустил это:
sudo /usr/local/mysql/support-files/mysql.server stop
И получил эту ошибку:
ERROR! MySQL server PID file could not be found!
Обновление [2.1] 2013-01-05 17:37 вечера [Нью-Йорк]
Я побежал ps auxww | grep mysql
и нашел процесс mysqld
и убил его (sudo kill [process id]
). Затем я смог успешно перезапустить mysql. Тем не менее, мне все еще не удастся сбросить эту конкретную базу данных, упомянутую выше.
Решенный
После попытки вручную восстановить повреждение и многие предложения и другой ответ, указанный здесь, переустановка mySQL была единственной проблемой, которая решила мою проблему.
На Mac (работает 10.8.2) я также должен был выполнить некоторые ручные удаления для чистой установки:
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm /etc/my.cnf
Рекомендуемые статьи
- MySQL дублирует ошибку CONCAT 1548 - Не удается загрузить из mysql.proc. Вероятно, таблица повреждена
- Ошибка SQL: значение BIGINT UNSIGNED вне диапазона (...), но это не имеет смысла
- Как восстановить поврежденную таблицу
- Не удалось найти файл PID MySQL или файл сервера
- Проблема с PHP/MySQL после обновления безопасности 2010-005
- Проблемы с mysql после обновления программного обеспечения Mac OS X
- Как удалить MySQL полностью Mac OS X Leopard