Docker运行Mysql

本文详细介绍了使用Docker部署MySQL服务器的过程,包括下载镜像、运行容器、查看日志、连接服务器、配置字符集及数据路径等关键步骤。

1.下载MysqlServer Docker Image

docker pull mysql/mysql-server:tag

tag为镜像标签,可以使5.5,5.6,5.7,8.0或latest,可以忽略;忽略则为lastest

2.运行MysqlServer Docker Image

docker run --name=mysql8 -d mysql/mysql-server:8.0

查看mysqlserver容器名称

docker ps

3.查看运行日志

docker logs mysql8

查看第一次运行Mysql生成的随机密码

docker logs mysql8 2>&1 | grep GENERATED

4.通过容器内客户端连接MysqlServer

docker exec -it mysql8 mysql -uroot -p

5.访问容器Shell

docker exec -it mysql8 bash

6.MysqlServer配置

docker run --name mysql8 -d mysql/mysql-server:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_col

指定默认字符集为utf8mb4

查看MysqlServer默认数据存放路径

docker inspect mysql8
“Mounts”: [
{
“Type”: “volume”,
“Name”: “4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652”,
“Source”: “/var/lib/docker/volumes/4f2d463cfc4bdd4baebcb098c97d7da3337195ed2c6572bc0b89f7e845d27652/_data”,
“Destination”: “/var/lib/mysql”,
“Driver”: “local”,
“Mode”: “”,
“RW”: true,
“Propagation”: “”
}
],

Source为host机器中存放数据的目录

指定配置文件目录和数据存放目录

docker run --name=mysql8 \
--mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
-d mysql/mysql-server:tag

指定配置文件路径:/path-on-host-machine/my.cnf
指定数据存放目录:/path-on-host-machine/datadir

### Docker运行 MySQL 的方法 #### 安装并启动 MySQL 镜像 为了在 Docker 中安装并运行 MySQL,需先从官方仓库获取最新版本的 MySQL 镜像。对于特定版本如 8.0 版本: ```bash docker pull mysql:8.0 ``` 确认镜像已成功下载至本地环境可通过 `docker images` 命令来实现[^1]。 #### 创建并配置 MySQL 容器实例 创建一个新的 MySQL 实例时可以指定名称、映射主机端口到容器内部服务监听地址以及设置 root 用户密码等参数。下面的例子展示了如何创建名为 `second-mysql` 的新实例,并将其绑定到宿主机上的 3307 端口,同时设置了简单的根用户密码 '123456': ```bash sudo docker run --name second-mysql \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql ``` 上述命令执行完毕后,可以通过 `docker ps` 查看正在运行中的容器列表及其状态信息,确保新的 MySQL 实例已经正常启动[^3]。 #### 数据持久化与备份恢复操作 当需要保存数据库文件或进行迁移工作时,可利用 `docker cp` 工具将数据导出到外部存储位置;同样也可以用来替换现有容器内的配置文件以调整性能选项或其他行为特性。停止并移除旧版容器前记得做好充分的数据保护措施: ```bash sudo docker cp mysql:/var/lib/mysql ./ sudo docker cp mysql:/etc/mysql/conf.d ./ sudo docker cp mysql:/etc/mysql/mysql.conf.d ./ docker stop mysql docker rm mysql ``` 这些指令会把重要的 MySQL 文件夹拷贝出来以便后续处理,并安全地终止和清理掉不再使用的容器资源[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值