mysql版本 : 8.0.21 mysql
使用mysql 做为nextcloud的数据库。以前使用挺正常的,由于被黑客勒索过一次,从新启动了一个mysql的docker镜像。sql
结果数据库配置总是失败,nextcloud提示没法访问mysql。docker
进入docker 镜像查看,使用mysql -p 命令,能够正常登录,密码也是正确的。数据库
可是使用mysql -h 172.17.0.7 -p 命令,则会提示没法访问。ide
因而,查看root权限,提示报错。彷佛没有配置远程访问的权限。3d
ERROR 1141 (42000): There is no such grant defined for user 'root' on host '%'blog
尝试配置远程访问权限,报错。it
grant all privileges on *.* to 'root'@'172.17.0.%' identified by '123456';io
上网查了,才知道,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网段的远程。