docker实战教程(十四):docker上安装mysql
docker hub上查找mysql镜像
docker search mysql
从docker hub上拉取mysql镜像到本地(指定版本为5.7)
docker pull mysql:5.7
使用mysql 5.7镜像创建容器(也叫运行镜像)
简单版
1.使用mysql镜像
# -e:设置环境,这里设置的是密码
# -d:后台运行
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
如果执行过程中发现端口被占用,使用netstat -nplt
找到对应的进程,kill -9
杀掉进程即可
但是发现不起作用,因为再次使用netstat查看,发现mysqld服务还在,原来这个进程是服务器上的mysql,已经监听了服务器的3306端口,这时候把服务器mysqld服务关闭
这时候可以正常创建了
2.建库建表插入数据
进入容器
docker exec -it 2556d631382c /bin/bash
输入账号密码进入mysql

创建数据库、数据表并插入数据

3.外部window连接运行在docker上的mysql容器实例服务
如果连不成功,检查linux服务器上的防火墙是否关闭

4.问题
(1).插入中文数据试试,为什么会报错?

docker上默认字符集编码隐患
```linux
SHOW VARIABLES LIKE 'character%';
(2).删除容器后,里面的mysql数据怎么办
实战版
1.新建mysql容器实例
# --privileged=true 容器数据卷的开启
# 挂了三个容器卷
docker run -d -p 3306:3306 --privileged=true -v /root/mysql/log:/var/log/mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
2.新建my.cfg
通过容器卷同步给mysql容器实例
[root@k8scloude1 tmp]# cd /root/mysql/conf/
[root@k8scloude1 conf]# ls -l
total 0
[root@k8scloude1 conf]# vim my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
3.重新启动mysql容器实例再重新进入并查看字符编码
docker restart mysql
docker exec -it mysql /bin/bash
mysql -u root -p
4.再新建库建表插入中文测试
5.结论
之前的DB无效,修改字符集操作+重启mysql容器实例之后的DB有效,需要重建
结论:docker安装完mysql并run出容器后,建议请先修改完字符集编码后再新建mysql库、表,插入数据
6.数据问题
假如把mysql容器删除,重新创建并启动一个新的容器
这时候进入mysql中,发现它里面的数据还在,这是因为数据已经挂载到了本地的/root/mysql/data目录下,实现了数据备份
分类:
docker
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!