macOS下通过Homebrew安装MySQL

macOS有了Homebrew这样的软件包管理工具后,管理软件就变得十分的方便。今天和大家分享一下如何在Mac上安装MySQL数据库,以及碰到一些坑后要怎么解决,我安装的MySQL版本是5.7.12

使用Homebrew安装

执行如下命令查找MySQL,会列出很多项:

1
brew search mysql

安装的时候选择mysql这一项,执行命令:

1
brew install mysql

耐心等待片刻等待安装成功,然后开启MySQL服务:

1
brew services start mysql

如果安装完MySQL后出现问题,想要卸载可以依次执行以下的命令:

1
2
3
4
5
brew remove mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
rm ~/Library/LaunchAgents/com.mysql.mysqld.plist
sudo rm -rf /usr/local/var/mysql

配置数据库

Mac OSX下默认是不用通过my.cnf来配置的,默认配置已经完全可以使你方便的使用MySQL了。但是,如果你觉得不折腾心痒难耐,可以使用如下命令:

1
mysqld --help --verbose | more

你会看到如下一段描述,表示配置文件默认读取顺序:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

但是通常这些位置是没有配置文件的, 所以要自己建一个,通过下面这条命令可以找到my.cnf样例:

1
ls $(brew --prefix mysql)/support-files/my-*

把找到的样例拷贝到第一个默认目录:

1
cp /usr/local/opt/mysql/support-files/my-default.cnf /etc/my.cnf

这样,以后按需修改即可。

修改密码校验的等级

MySQL从5.6.6开始,开始可以使用validate_password插件来校验密码,当你安装这个插件后(对,我就手贱的安装了),试图要降低安全等级时会报错:

1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

这时我们执行命令:

1
mysql> SHOW VARIABLES LIKE 'validate_password%';

可以看到

+————————————–+——–+
| Variable_name | Value |
+————————————–+——–+
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+————————————–+——–+

其默认的安全等级是MEDIUM,我们可以把它改变为LOW:

1
mysql> SET GLOBAL validate_password_policy=LOW;

这个更为详细的可以参看 Change MySQL password policy level
以上。