docker创建持久化mysql

本文介绍如何使用Docker创建MySQL数据库容器,包括设置容器参数、映射数据目录、配置密码及解决常见错误。通过这些步骤,可以成功搭建并远程访问MySQL数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#创建数据库存放目录

mkdir /data

#创建运行容器

docker run -d -p 3333:3306 -v /data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name=bbbb mysql

#查看容器运行状态

docker logs bbbb

1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

#这错误是运行了多个mysql,目录被占用,关闭其他mysql容器即可

#查看数据库目录

ls /data

#一切正常可以远程登录访问了

端口7777

密码123456

### 如何在 Docker持久化安装 MySQL 并配置数据持久化 为了实现 MySQL 数据库及其数据的持久存储,在启动容器时应创建并挂载 Docker 卷至指定路径。通过这种方式可以确保即使容器停止或删除,数据库文件仍然安全存在于主机上。 #### 创建自定义卷用于存储 MySQL 数据 ```bash docker volume create mysql-data ``` 此命令将创建一个新的名为 `mysql-data` 的卷来专门存放 MySQL 实例的数据[^1]。 #### 启动带有持久化MySQL 容器实例 下面展示了如何利用之前建立好的卷去运行官方镜像中的 MySQL 服务: ```bash docker run --name some-mysql \ -v mysql-data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -d mysql:tag ``` 上述脚本指定了 `-v` 参数用来关联本地卷与容器内部目录 `/var/lib/mysql` ,这是默认情况下 MySQL 存放其表空间的位置;同时设置了环境变量 `MYSQL_ROOT_PASSWORD` 来初始化 root 用户密码,并选择了特定版本标签作为基础镜像(需替换为实际使用的 tag 版本号)。这一步骤保证了每次重启该容器时都能访问到相同的数据集而不会丢失任何信息。 #### 验证设置成功与否 可以通过执行如下指令进入正在运行的服务端口内查看是否一切正常工作: ```bash docker exec -it some-mysql bash mysql -uroot -pmy-secret-pw SHOW DATABASES; ``` 如果能够顺利连接并且看到预期的结果,则说明已经正确完成了 MySQLDocker 下面基于卷机制下的持久化部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

io_py

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值