Docker安装MySQL
实现持久化存储
在 Docker 中运行 MySQL 并实现数据持久化,需要挂载以下几个目录:
-
配置文件目录:
- 挂载路径:
/etc/mysql/conf.d
- 用途: 存放 MySQL 的配置文件,如
my.cnf
。这些配置文件会在 MySQL 启动时读取,用于设置数据库的各种参数。
- 挂载路径:
-
数据目录:
- 挂载路径:
/var/lib/mysql
- 用途: 存放 MySQL 的数据文件,包括数据库表、索引、日志等。这个目录保存了 MySQL 中实际的数据内容。
- 挂载路径:
-
日志目录:
- 挂载路径:
/var/log/mysql
- 用途: 存放 MySQL 的日志文件,包括错误日志、慢查询日志等。这些日志可用于问题排查和性能调优。
- 挂载路径:
-
创建对应目录
sudo mkdir -p /etc/mysql/conf.d /var/lib/mysql /var/log/mysql
通过挂载这些目录,您可以确保 MySQL 的配置文件、数据文件和日志文件都保存在宿主机的指定目录中,即使 Docker 容器被删除或重新创建,这些数据也不会丢失。
以下是一个示例 docker run
命令,展示了如何挂载这些目录:
sudo docker run -d --privileged=true \ --name mysql \ -e MYSQL_ROOT_PASSWORD=password \ -v /home/ubuntu/mysql/conf.d:/etc/mysql/conf.d \ -v /home/ubuntu/mysql/data:/var/lib/mysql \ -v /home/ubuntu/mysql/logs:/var/log/mysql \ -p 3306:3306 \ mysql:8.0.37
在这个示例中:
-
/home/ubuntu/mysql/config
目录将被挂载到容器的/etc/mysql
目录,用于存放配置文件。 -
/home/ubuntu/mysql/data
目录将被挂载到容器的/var/lib/mysql
目录,用于存放数据文件。 -
/home/ubuntu/mysql/logs
目录将被挂载到容器的/var/log/mysql
目录,用于存放日志文件。
通过这样的挂载方式,即使 Docker 容器被删除或重新创建,您在宿主机上的这些目录中保存的 MySQL 配置和数据也不会丢失。
PS:
- 如果运行失败,可以执行
sudo docker logs [mysql]
查看相关日志。[mysql]为容器名称
Docker中进入mysql
sudo docker exec -it [mysql-name] mysql -uroot -p
本机进入mysql
- 如果有需要可以安装mysql客户端mysql -uroot -p连接
sudo apt install mysql-client-core-8.0 # version 8.0.35-0ubuntu0.22.04.1, or sudo apt install mariadb-client-core-10.6 # version 1:10.6.12-0ubuntu0.22.04.1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」