mysql无法远程连接问题(ERROR 1045 (28000): Access denied for user 'root')
mysql版本 : 8.0.21
使用mysql 作为nextcloud的数据库。之前使用挺正常的,因为被黑客勒索过一次,重新启动了一个mysql的docker镜像。
结果数据库配置老是失败,nextcloud提示无法访问mysql。
进入docker 镜像查看,使用mysql -p 命令,可以正常登陆,密码也是正确的。
但是使用mysql -h 172.17.0.7 -p 命令,则会提示无法访问。
于是,查看root权限,提示报错。似乎没有配置远程访问的权限。
ERROR 1141 (42000): There is no such grant defined for user 'root' on host '%'
尝试配置远程访问权限,报错。
grant all privileges on *.* to 'root'@'172.17.0.%' identified by '123456';
上网查了,才知道,mysql 8以后的版本,不支持这种语法,可以分两步进行。
1,create user 'root'@'172.17.0.%' identified by '123456';
2,grant all privileges on *.* to 'root'@'172.17.0.%' with grant option;
配置成功后,使用mysql -h xxx -p 尝试访问,成功。
到一步,mysql数据库就可以支持远程访问了,而且root帐号仅支持172.17.0.x网段的远程。
作者:谁也不要跟我抢
来源链接:https://www.cnblogs.com/anderzheng/p/13510626.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。