正文

首次在 macOS 上安装MySQL时会遇到很多问题,以下是我遇到的问题和解决方案

使用brew安装MySQL

在命令行中输入 brew install mysql 安装MySQL。

下载dmg安装MySQL

访问MySQL官网http://www.mysql.com/downloads/,点击下载MySQL Community Server,注意平台。

卸载MySQL

使用brew安装MySQL的,可以执行 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*

再检查以下存储位置,如有文件,直接删除
/usr/local/Cellar 里的mysql文件
/usr/local/var 里的mysql文件
/tmp 里的mysql.sock, mysql.sock.lock, my.cnf文件
brew安装的安装包存储在/usr/local/Library/Cache/Homebrew也可以一并删除

最后执行 brew cleanup

MySQL Workbench(GUI)

MySQL官网上有 MySQL Workbench 的下载链接,访问https://downloads.mysql.com/archives/workbench/
点击下载MySQL Workbench(GUI Tool),如果发现安装之后,进入Workbench后,执行SQL后,一直卡死,请下载6.1.7版本。

MySQL问题

下面是我在使用MySQL时出现的问题:

Access denied for user ‘’@’localhost’ to database’

执行 mysql -u root -p 之后输入之前MySQL随机生成出来的密码,一直提示不正确的时候,我们就执行以下命令:

mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set authentication_string=password('123456') where user='root';
flush privileges;
quit
mysqld restart

You must reset your password using ALTER USER statement before executing this statement.

当我们成功登录MySQL后,执行任何的命令,都提示上面的错误,我们需要执行以下命令:

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

参考文献

MAC下安装与配置MySQL
在 Mac 下用 Homebrew 安装 MySQL
workbench 无法执行命令?
Mac Pro下卸载安装Mysql
mysql-community-server 5.7.16 设置密码
mac mysql error You must reset your password using ALTER USER statement before executing this statement.