在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
当前时间2018-9-28 在使用brew install mysql 默认安装为 MySQL 8,但是使用php连接到数据库之后,出现了这种错误 (
但是在终端连接mysql的时候 是可以使用的 如图:
出现这样问题大概有半月之余,导致只能去连接外网的mysql,真的很痛苦!下边我把自己的解决办法写一下,请需要的同学参考。
此错误似乎是由MySQL 8.0.4中的默认身份验证表单引起的。 解决方法 1.更改root用户的身份验证使用MySQL更改root用户的身份验证。 $ mysql -u root 连接后执行, mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; 使用更改身份验证插件。如果您设置了密码,
mysql> SELECT user,host,plugin FROM mysql.user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | mysql_native_password | +------------------+-----------+-----------------------+ 4 rows in set (0.01 sec) 请确保root已更改为mysql_native_password 。 2.编辑my.cnf$ mysql --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 您可以检查文件的加载顺序。如果您使用Homebrew安装,请编辑 # Default Homebrew MySQL server config [mysqld] # Only allow connections from localhost bind-address = 127.0.0.1 # 追加 default_authentication_plugin=mysql_native_password
3.重启MySQL用Homebrew安装的MySQL $ mysql.server stop 即使我试图阻止,也不会停止。要停止, $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 有了这个 $ mysql.server status ERROR! MySQL is not running 只要是MySQL就会停止。开始 $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist 再次查看状态 $ mysql.server status SUCCESS! MySQL running (XXXXX) 让我们确保mysql是running。再次用php连接测试下 看是否ok!
以上为我的解决办法,请参考
|
2022-08-19
2022-07-30
2022-08-17
2022-11-06
2022-08-17
请发表评论