"Cannot load from mysql.procs_priv. The table is probably corrupted" 在 Osx / 自制软件
"Cannot load from mysql.procs_priv. The table is probably corrupted" on Osx / homebrew
问题:
尝试创建新 mysql 用户时获得 Cannot load from mysql.procs_priv. The table is probably corrupted
。
平台: OSX Yosemite, Homebrew
尝试了以下所有方法,没有用:
- 正在升级:
mysql_upgrade -uroot -p
- 我不得不使用
--force
因为这个:This installation of MySQL is already upgraded to 5.7.9, use --force if you still need to run mysql_upgrade
- 接下来我不得不使用
--skip-version-check
因为这个:Error: Server version (5.7.18) does not match with the version of the server (5.7.9) with which this program was built/distributed. You can use --skip-version-check to skip this check.
- 毕竟
还是没用
- 将查询减少到最明显和 taking out functions:
CREATE USER 'newuser';
,仍然会抛出相同的错误。
- 正在修复 mysql.procs_priv table
- 正在将
mysql.procs_priv
中的所有 char
列更改为 varchar
、as suggested here。好吧,他建议更改为 text
,但这对于核心 mysql table. 来说似乎太疯狂了
完全删除 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_upgrade -u root -p
输入您的密码并等待几秒钟。
问题:
尝试创建新 mysql 用户时获得 Cannot load from mysql.procs_priv. The table is probably corrupted
。
平台: OSX Yosemite, Homebrew
尝试了以下所有方法,没有用:
- 正在升级:
mysql_upgrade -uroot -p
- 我不得不使用
--force
因为这个:This installation of MySQL is already upgraded to 5.7.9, use --force if you still need to run mysql_upgrade
- 接下来我不得不使用
--skip-version-check
因为这个:Error: Server version (5.7.18) does not match with the version of the server (5.7.9) with which this program was built/distributed. You can use --skip-version-check to skip this check.
- 毕竟 还是没用
- 我不得不使用
- 将查询减少到最明显和 taking out functions:
CREATE USER 'newuser';
,仍然会抛出相同的错误。 - 正在修复 mysql.procs_priv table
- 正在将
mysql.procs_priv
中的所有char
列更改为varchar
、as suggested here。好吧,他建议更改为text
,但这对于核心 mysql table. 来说似乎太疯狂了
完全删除 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
中删除行 删除以前的首选项
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
可选,重启电脑。我没有。
MYSQLCOM=-YES-
2。安装 MYSQL
安装Mysql
brew install mysql
启动时设置为运行
brew services start mysql
确保安装安全
mysql_secure_installation
我觉得用这个会更好:
mysql_upgrade -u root -p
输入您的密码并等待几秒钟。