前言: docker是一个合格java开发工程师必须要掌握的知识,狐狸将自己的理解都写下来,此文章仅代表鄙人的总结和理解,如有错漏,欢迎指正...
1、mysql镜像下载。
docker pull mysql:8.0.18
2、创建容器过程中要设置忽略大小写。
docker run --name mysql -p 8089:3306 -e MYSQL_ROOT_PASSWORD=zshine08 -d mysql --lower_case_table_names=1
mysql 8 的配置文件是在: /etc/mysql/my.cnf
docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID
以上的文件挂载没什么卵用。所以选择直接在容器中修改这个my.cnf文件,在文件中增加:bind-address = 0.0.0.0 允许对外连接
3、拷贝文件到容器中
docker cp mysql:/etc/mysql/my.cnf /home/docker_data/mysql/ docker cp /home/docker_data/mysql/conf/my.cnf mysql:/etc/mysql/my.cnf
4、创建容器后,进入mysql容器
docker exec -it mysql sh
5、进入mysql数据库
mysql -u root -p 输入密码后进入数据库内部
6、增加navicat连接权限
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 或者 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lzslov123!';
7、使配置生效
FLUSH PRIVILEGES;
最后可用navicat访问了
结语:以往都是看别人的博客进行学习技术,其中不乏有精华博客也有吊儿郎当的CV大法文章,所以决定将自己所学所用所整理的知识分享给大家,主要还是想为了后浪们少走些弯路,多些正能量的博客,如有错漏,欢迎指正,仅希望大家能在我的博客中学到知识,解决到问题,那么就足够了。谢谢大家!(转载请注明原文出处)