查看mysql服务器中mysql数据库中的表,发现mysql服务器只有本机可连接,百度一下,是访问权限问题,执行命令可解决问题,
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
image.png
语句含义为:赋予root用户从任何主机登录,访问服务器中的所有database的权限。
1处 指定可访问的database,可修改为你允许用户访问database。
2处 指定可访问的用户,‘%’代表所用用户可访问。
3处 表示登录的主机,‘%’代表任何主机,可指定特定主机的IP地址。
然而 too young too simple,问题没有得到解决,出现一下错误
image.png
解决方案如下:
- 创建用户(创建root用户,可通过密码123456从任何主机登录)
create user 'root'@'%' identified by '123456';
- 授予用户权限(授予该用户所有权限)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
3.刷新权限
flush privileges;
完成上述操作后,出现如下错误 authentication plugin ‘caching_sha2_password’ cannot be loaded
image.png
是mysql账户密码加密规则问题,修改账户加密规则
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
好,到此问题解决,此处应有掌声
网友评论