问题描述:
使用Docker安装Mysql容器后,使用远程工具创建数据库时,报错:Access denied for user ‘root‘@‘%‘ to database xxx,但是进入Docker中的MySQL容器中,却可以正常创建数据库。
问题分析:
出现这个问题的根本原因是远程连接用户权限不足,直接原因是创建远程连接用户 ‘root@%’ 时,没有添加访问数据库的权限。
解决方法:
- 使用命令进入MySQL容器
docker exec -it mysql /bin/bash
- 登录MySQL
mysql -u username -p password
- 授权
grant all privileges on *.* to 'root'@'%' with grant option;
- 刷新权限
flush privileges;