docker安装mysql
下载mysql镜像
打开docker镜像仓库 https://hub.docker.com
我们下载官方镜像,点击打开
可以看到tags有很多不通版本的mysql
比如我想安装5.7版本的就可以使用 docker pull mysql:5.7 来安装
镜像下载完后可以数据 docker images 命令查一下是不是有了mysql的镜像
创建实例并启动
执行命令
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
第一个3306是centos对外的端口,第二个是容器mysql的端口,所以可以第一个端口不用默认端口3306,防止攻击
这里注意一下安装高版本的mysql的问题,安装8.0.30发现这样映射不行,conf这一句需要改为:
-v /mydata/mysql/conf:/etc/mysql/conf.d \
这样mysql就装好了,我们可以使用命令 docker ps 查一下docker正在运行中的容器:
然后试一下用客户端连接发现连接上了
解释一下上面的命令
-v表示的挂载的作用就是,改了左侧目录的文件,右侧目录里的也会变,改了右侧目录里的文件左侧也会变
修改mysql的配置设置utf8编码
由于我们对容器的mysql目录挂在到了centos外面的目录,所以直接修改外面的目录就可以
进入配置文件所在目录
cd /mydata/mysql/conf/
编辑my.conf,第一次没有这个文件使用vim存入配置后会自动创建
vim my.conf
my.conf中输入内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
docker restart mysql
设置开机总是自动重启,否则每次虚拟机重启都需要手动重启
sudo docker update mysql --restart=always
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏