配置基本是按照此篇文章可以进行的,但是在配置mysql的过程中遇到一个问题ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
解决办法参见这篇文章,至于问题的原因,我觉得应该是安装mysql的过程中生成的临时密码已过期(即不可使用)造成的,SOF上有大神说原因是mysql中有匿名(anonymous)用户加上mysql默认查找用户的规则造成的。不过显然并不是我这里产生此问题的原因,因为通过mysql安全模式进入mysql命令行之后,我查找了所有的用户,并没有匿名用户,见下图
查找所有用户,以及看密码是否过期的命令为
SELECT User, Host, password_expired, password_last_changed, password_lifetime From mysql.user;
注意事项:1、在启用mysql安全模式时使用的命令为sudo mysqld_safe --skip-grant-tables,但是在这篇文章中说应该还要加个&,即sudo mysqld_safe --skip-grant-tables &,这里我没有深究,因为我用的时候没加&也没有出现很大的问题。
2、使用mysql安全模式遇到一个问题,当把命令行关掉时,已经提示会关闭mysqld进程,但是下一次启用时报错mysqld_safe A mysqld process already exists。此时可以使用三行命令(参考了这篇文章)加一个操作(利用命令关闭mysql)来彻底关闭mysqld进程,命令为
killall mysqld mysqld_safe
ps aux | grep mysqld
killall -9 mysqld mysqld_safe
关闭mysql的命令为
sudo /usr/local/mysql/support-files/mysql.server stop
3、另外上面的文章中提到,在命令行中查看mysql版本的命令为mysql -V,此处要注意V是大写的,我按照上面文章写了小写总是报错,度娘了一下才发现原因(捂脸笑)。
以前我配置Apapche,安装mysql很顺利,不知这次怎么遇到好多坑,或许是mysql或Mac OS升级造成的吧,不管怎么说,记录下来希望给别人一个参考。如果有什么问题,欢迎批评指正。
参考文章:http://note.rpsh.net/posts/2013/11/26/osx-apache-server-php-mysql/
http://jacob110.github.io/2015/10/13/mac-os-install-mysql5-7/
https://segmentfault.com/a/1190000002955092
http://hoststud.com/resources/resolved-error-mysqld_safe-a-mysqld-process-already-exists.141/