Docker安装Mysql
1、在docker hub 上查看要下载的mysql镜像名称
在上方搜索栏里输入mysql
找到要拉取的镜像版本,在tag下找到版本
回到虚拟机界面,执行下面命令来拉取mysql镜像
不指定版本号,默认下载最新版本:
sudo docker pull mysql
指定版本号:
sudo docker pull mysql:5.7
2、镜像拉取完成后,用该镜像创建mysql实例,使用下面的命令来创建
sudo 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
这里对上面的参数做下简单的介绍,如果不想了解这一块直接复制上面的命令执行即可:
配置端口映射:
-p 3306:3306 --name mysql
将容器的3306端口映射到主机的3306端口
配置mysql数据卷挂载
-v <宿主机目录绝对路径:容器内目录绝对路径>
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
将容器中的日志文件夹挂载到主机对应的/mydata/mysql/log文件夹中
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹挂载到主机对应的/mydata/mysql/data文件夹中
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
将容器的配置文件夹挂载到主机对应的/mydata/mysql/conf文件夹中
注(这里所提的主机指的是当前的linux主机)
配置用户
-e MYSQL_ROOT_PASSWORD=root
设置初始化root用户的密码
指定镜像资源
-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例
下面演示是用root用户来执行的命令,如果当前不是root用户,要在命令前加 sudo,以管理员方式来运行
创建成功后使用下面命令查看下创建好的mysql实例:
docker ps -a
用navicat测试下数据库是否启动成功:
用户名密码刚才创建docker时均设为了root
点击测试连接,显示测试成功,说明docker的mysql实例已经正常启动
2.1、进入容器
# 进入容器 bash/sh 都可以 docker exec -it 容器ID /bin/bash
例如mysql的容器ID:
docker ps
docker exec -it 981fe6284798 /bin/bash
2.2、配置my.cnf
在宿主机映射地址中配置my.cnf
cd /mydata/mysql/conf vim my.cnf
my.cnf 基本默认内容
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
重启容器
docker stop 容器ID docker start 容器ID
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)