问题
我在Mac OS 10.8.2上运行MySQL 5.5.23,无法删除特定的数据库,但我可以删除其他数据库.
当我试图删除特定的表我得到这个错误:
#1548 - Cannot load from mysql.proc. The table is probably corrupted
尝试修复
>我重新启动了系统
>我已经尝试通过CLI重新启动MySQL
> $sudo /usr/local/mysql/support-files/mysql.server stop
>但收到此错误ERROR! MySQL服务器PID文件无法找到!
>我已经修复了mysql.proc表.
>修复表mysql.proc
> REPAIR TABLE mysql.proc USE_FRM
>我修复了所有的mysql.*表.
> REPAIR TABLE mysql.*
>从命令行运行mysqlcheck时
> mysqlcheck –repair –all-databases
> mysqlcheck –repair specific-db
>我收到这个错误:mysqlcheck:有错误:2002:无法连接到本地MySQL服务器通过套接字’/var/mysql/mysql.sock'(2)当尝试连接
当前状态
我仍然无法删除原有的特定数据库,但可以删除其他数据库.
更新[1] 2013-01-05 11:15 am [纽约]
日志和反馈(每个@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 4:04 pm [纽约]
我跑了这个
sudo /usr/local/mysql/support-files/mysql.server stop
并收到此错误:
ERROR! MySQL server PID file could not be found!
更新[2.1] 2013-01-05 5:37 pm [纽约]
我跑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
咨询文章