解决docker部署mysql5.7映射配置文件不生效

直接在run命令中添加配置 ,根据mysql在dockerhub中的文档
解决docker部署mysql5.7映射配置文件不生效_第1张图片

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

这里的配置就能配置到mysqld下,例如常用的不区分大小写 --lower_case_table_names=1

还有如果遇到 Access denied for user ‘root‘@‘127.0.0.1‘ 证明root在这个IP下没有权限,要去添加权限,
方法:
进入mysql容器 docker exec -it 容器id bash
mysql -uroot -pxxx 进入数据库
use mysql 进入mysql库
SELECT * FROM mysql.user WHERE USER= ‘root’; 看看host ‘’%‘’ 或者是对应的IP的一些权限为N
如果是的,执行以下语句
GRANT ALL ON *.* TO ‘root’@‘%’ WITH GRANT OPTION; 赋予root在全部ip下都有全部的权限

flush privileges; 刷新配置

也可以只创建 ‘root‘@‘127.0.0.1‘ create user ‘root’@‘127.0.0.1’ identified by ‘root’; 然后赋予他全部权限即可

这样问题就解决了

你可能感兴趣的:(docker,容器,运维,mysql,数据库)