[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

环境:mysql(5.7.17) install for mac(10.11.13)

环境设置及启动数据库:

brew install mysql
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
source ~/.profile
检查一下mysql的运行状态
$ ps -ef | grep mysql
检查mysql 版本号;
mysql --version
查看 mysqld服务启动时候,配置文件的读取顺序:
mysqld --verbose --help | grep -A 1 'Default options'
启动mysql:
$mysql.server start

Mac 关于Mysql的卸载:

如使用brew安装:brew uninstall mysql 或者 brew remove mysql
但是又有点怕某些东西没有卸载完全影响到下一次的安装(我第一次重装就是这样的)以下是完整一点的手动卸载:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
其实不同的安装方式有些东西的存储位置不一样,删除完检查一下一些问文件是否删除了,没有的话则删除掉:

/usr/local/Cellar 里的mysql文件
/usr/local/var 里的mysql文件
/tmp 里的mysql.sock, mysql.sock.lock, my.cnf文件
pid文件和err文件都在/usr/local/var/mysql里确保删除了
brew安装的安装包存储在/usr/local/Library/Cache/Homebrew也可以一并删除
执行brew cleanup

在brew执行install mysql之后会出现一系列的安装信息,出现一个Error,查看到了ERROR的内容:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/libmysqlclient.20.dylib
/usr/local/lib is not writable.

You can try again using:
  brew link mysql

 ~ brew link mysql
Linking /usr/local/Cellar/mysql/5.7.12...
Error: Could not symlink lib/libmysqlclient.20.dylib
/usr/local/lib is not writable. //这个文件夹不可写

sudo chown -R $(whoami) /usr/local/lib/
Password:
➜ ~ brew link mysql
Linking /usr/local/Cellar/mysql/5.7.12… 93 symlinks created

错误二:Can\’t open the mysql.plugin table.

ERROR! The server quit without updating PID file (/usr/local/var/mysql/xxxiMac.local.pid).
mysqld: Table 'mysql.plugin' doesn't exist
[ERROR] Can\'t open the mysql.plugin table. Please run mysql_upgrade to create it. 

解决方法:
unset TMPDIR
mysql_install_db --verbose --user=mysql --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql 

/etc/my.cnf 配置文件信息

[mysqld_safe]
log-error =  /usr/local/var/mysql/logs/error.log

[mysqld]
#basedir = /usr/local/Cellar/mysql/5.7.17
datadir = /usr/local/var/mysql
#skip-external-locking
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值