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網段的遠程。