部署命令
注意conf文件在实际容器中的位置,有的版本是直接在/etc目录下,可以先创建一个容器进去看看
docker run --restart=always --privileged=true \ -v $PWD/mysql/data/:/var/lib/mysql \ -v $PWD/mysql/logs/:/var/log/mysql \ -v $PWD/mysql/conf/:/etc/mysql \ -v $PWD/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -p 3306:3306 --name mysql \ -e MYSQL_ROOT_PASSWORD=123456 -d mysql
- 登录问题
在容器外登陆报错
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
MySQL8.0.11版本默认的认证方式是caching_sha2_password ,而在MySQL5.7版本则为mysql_native_password
mysql密码机制介绍
此时进入容器内部登陆是可以的,通过容器内登陆修改认证方式
- 登陆问题:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
这个问题是mysql.sock文件默认路径和docker启动时映射路径不一致引起
有两种解决办法,一种是配置文件my.cnf修改socket路径,然后重启容器
还有一种简单的方法不需要重启容器,只需要增加一条软链接即可
ln -s 实际目录/mysql.sock /var/lib/mysql/mysql.sock
- 参数报错:
ERROR 1238 (HY000): Variable 'default_authentication_plugin' is a read only variable
写入my.cnf 文件后重启MySQL
- 编码问题:msql默认编码为character_set_server = Latin1
同样修改配置文件my.cnf
原文链接:https://blog.csdn.net/qq_28686911/article/details/128299410?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836884016800178595162%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836884016800178595162&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-3-128299410-null-null.nonecase&utm_term=docker%E9%83%A8%E7%BD%B2
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END