最近由于需要用mysql做个项目,但是本地测试的时候,发现用127.0.0.1或者localhost都可以连接,但是使用真实的ip地址却连接不上,特意将解决的过程记录下来,避免后面人踩坑。
系统:macos
mysql版本:8.0.12
解决步骤:
mysql -u root -p
mysql> use mysql
mysql> update user set host = '%' where user = 'root';
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> select host,user,plugin from user;
有人说plugin需要是mysql_native_password,我因为默认就是mysql_native_password所以没太注意。
上面修改完了远程访问的权限,但是还需要修改监听的ip地址为0.0.0.0
vim /usr/local/etc/my.cnf
然后重启mysql
好了,做完上述步骤之后,就可以使用ip地址来连接mysql了