数据库
首页 > 数据库> > “无法从mysql.procs_priv加载.该表可能已在“Osx / homebrew上损坏”

“无法从mysql.procs_priv加载.该表可能已在“Osx / homebrew上损坏”

作者:互联网

问题:

无法从mysql.procs_priv加载.尝试创建新的mysql用户时,该表可能已损坏.

平台:OSX Yosemite,Homebrew

解决方案已尝试从其他答案:

>升级:mysql_upgrade -uroot -p

>我不得不使用–force因为这个:MySQL的安装已经升级到5.7.9,如果你仍然需要运行mysql_upgrade,请使用–force
>接下来我不得不使用–skip-version-check,因为:错误:服务器版本(5.7.18)与构建/分发此程序的服务器版本(5.7.9)不匹配.您可以使用–skip-version-check跳过此检查.
>毕竟还是没有用

>将查询减少到最明显的和taking out functions:CREATE USER’newuser’;仍然会引发相同的错误.
>修复mysql.procs_priv表
>将mysql.procs_priv中的所有char列更改为varchar,as suggested here.他建议更改为文本,但对于核心mysql表而言,这似乎太疯狂了.

解决方法:

完全删除mysql并重新安装它(不到15分钟).

1.从系统中卸载和清除MYSQL

>备份数据库.
>停止并终止任何MySQL进程.使用ps -ax检查进程grep mysql
>卸载mysql

brew remove mysql
brew cleanup

>删除所有残留文件

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*

>卸载以前的自动登录

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 

>删除以前的配置.从/ etc / hostconfig中删除行MYSQLCOM = -YES-
>删除以前的首选项

sudo rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
sudo rm -rf /private/var/db/receipts/*mysql*
sudo rm -rf /private/var/mysql

>可选,重启电脑.我没有.

2.安装MYSQL

>安装Mysql

brew install mysql

>设置为在启动时运行

brew services start mysql

>确保安装

mysql_secure_installation

标签:mysql,corrupt
来源: https://codeday.me/bug/20190522/1154211.html