当前位置: 首页 > news >正文

在 Ubuntu 下通过 Docker 部署 MySQL 服务器

引言

Docker 是一个开源的容器化平台,允许开发者将应用及其依赖打包成一个标准化的单元。MySQL 是一个广泛使用的关系型数据库管理系统,因其高性能、可靠性和易用性,成为许多应用的首选数据库。结合 Docker 和 MySQL,可以轻松地创建、管理和扩展数据库实例,提升开发效率。

在 Alpine Linux 下通过 Docker 部署 MySQL 服务器

步骤 1: 安装 Docker

首先,确保你的系统上已安装 Docker。可以使用以下命令安装 Docker:

bash

复制

sudo apt update
sudo apt install docker.io

启动 Docker 服务并设置为开机自启:

bash

复制

sudo systemctl start docker
sudo systemctl enable docker

步骤 2: 拉取 MySQL 镜像

接下来,拉取官方的 MySQL 镜像:

bash

复制

sudo docker pull mysql:latest

步骤 3: 创建 MySQL 配置文件

在本地创建一个目录来存放 MySQL 的配置文件和数据:

bash

复制

mkdir -p ~/mysql-data

然后,创建一个 my.cnf 配置文件:

nano ~/mysql-data/my.cnf

在文件中添加以下内容:

[mysqld]
bind-address = 0.0.0.0
character-set-server = utf8mb4

步骤 4: 启动 MySQL 容器

使用以下命令启动 MySQL 容器:

sudo docker run --name my-mysql -v ~/mysql-data:/var/lib/mysql -v ~/mysql-data/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:latest
参数说明:
  • --name my-mysql: 指定容器名称为 my-mysql
  • -v ~/mysql-data:/var/lib/mysql: 将本地目录挂载到容器的 MySQL 数据目录。
  • -v ~/mysql-data/my.cnf:/etc/mysql/my.cnf: 将本地配置文件挂载到容器中。
  • -e MYSQL_ROOT_PASSWORD=yourpassword: 设置 MySQL 的 root 用户密码。
  • -d: 以后台模式运行容器。

步骤 5: 验证安装

使用以下命令检查 MySQL 容器的状态:

sudo docker ps

如果容器正常运行,可以通过以下命令进入 MySQL:

sudo docker exec -it my-mysql mysql -u root -p

输入你在步骤 4 中设置的 root 密码。

结论

通过以上步骤,你已经成功在 Ubuntu 下通过 Docker 部署了 MySQL 服务器。现在,你可以开始使用 MySQL 数据库,尽情享受这个灵活、高效的数据库系统带来的便利。记得保持你的容器更新,保持安全!💻✨

http://www.lryc.cn/news/519256.html

相关文章:

  • MCU 和 PSK
  • Linux:进程概念(二.查看进程、父进程与子进程、进程状态详解)
  • 苍穹外卖07——来单提醒和客户催单(涉及SpringTask、WebSocket协议、苍穹外卖跳过微信支付同时保证可以收到订单功能)
  • C语言二级考试
  • IDEA Maven构建时报错:无效的目标发行版17
  • javafx 将项目打包为 Windows 的可执行文件exe
  • Python操作Excel的库openpyxl使用入门
  • 数据通过canal 同步es,存在延迟问题,解决方案
  • 了解Node.js
  • Android Studio创建新项目并引入第三方jar、aar库驱动NFC读写器读写IC卡
  • Oracle Dataguard(主库为双节点集群)配置详解(4):配置备库
  • 前端炫酷动画--文字(二)
  • ceph 数据均衡
  • 代码随想录算法训练营day29
  • android studio根据包名获取当前安装包信息
  • 学习第六十五行
  • 零碎的知识点(七):线性二次调节器(LQR)是什么?
  • Matlab一些使用技巧
  • Linux 发行版介绍与对比:Red Hat、Ubuntu、Kylin、Debian
  • 从CentOS到龙蜥:企业级Linux迁移实践记录(龙蜥开局)
  • java1-相对路径与绝对路径
  • iChainfo 品牌升級為 ichaingo,打造 Web3 數據基礎設施新標杆
  • Flink概念知识讲解之:Restart重启策略配置
  • [java基础-集合篇]LinkedList源码粗析
  • 面试:C++类成员初始化顺序
  • 【Python】Python与C的区别
  • [开源]自动化定位建图系统(视频)
  • ISP流程--去马赛克详解
  • Objective-C语言的软件工程
  • Objective-C语言的语法糖