阿里云docker搭建的mysql无法访问

阿里云上配置

查看运行状态

docker ps

UP正常

进入镜像

docker exec -it mysql bash

登录mysql

sql 复制代码
-- 修改localhost密码(可选)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 创建允许任意IP访问的root账号
CREATE USER 'root'@'%' IDENTIFIED BY '123456';

-- 授予全部权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;
 
sql 复制代码
-- 修改localhost密码(可选)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 创建允许任意IP访问的root账号
CREATE USER 'root'@'%' IDENTIFIED BY '123456';

-- 授予全部权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;
 

mysql -u root -p

查看root权限

SELECT user, host FROM mysql.user WHERE user = 'root';

我们看到只有localhost可以访问,也就是只能本地,其他ip无法访问

我们可以修改成任意ip访问

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;
sql 复制代码
SELECT user, host FROM mysql.user WHERE user = 'root';

再查看就发现可以了

但是正常生产环境不建议,还是要直接设置ip白名单