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

使用Docker在Ubuntu 22.04上部署MySQL数据库的完整指南

使用Docker在Ubuntu 22.04上部署MySQL数据库的完整指南

在现代应用开发中,使用Docker来部署数据库已成为一种流行的做法。本文将详细介绍如何在Ubuntu 22.04系统上使用Docker部署最新版本的MySQL数据库,包括关键注意事项、详细步骤、闭坑指南以及总结。

部署重点注意事项

  1. 数据持久化:确保MySQL数据存储在宿主机上,以防止数据丢失。

  2. 环境变量安全:设置强密码并妥善管理数据库用户和权限。

  3. 自定义配置:根据生产需求调整MySQL配置,以优化性能和安全性。

  4. 网络安全:限制对数据库的访问,使用Docker网络隔离服务。

  5. 监控与日志管理:定期查看日志文件,使用监控工具跟踪数据库性能。

  6. 定期备份:制定备份计划,以防止数据丢失。

详细部署步骤

1. 安装Docker和Docker Compose

首先,确保你的Ubuntu系统上安装了Docker和Docker Compose。可以通过以下命令进行安装:

sudo apt update
sudo apt install docker.io docker-compose -y

2. 创建项目目录

接下来,创建一个用于存放MySQL配置文件和数据的目录:

mkdir -p ~/mysql/data ~/mysql/logs ~/mysql/conf

3. 创建MySQL配置文件(可选)

如果需要自定义MySQL配置,可以在~/mysql/conf目录下创建一个名为my.cnf的配置文件。以下是一个示例配置:

[mysqld]
default-authentication-plugin=mysql_native_password
max_connections=200

4. 创建Docker Compose文件

~/mysql目录下创建一个名为docker-compose.yml的文件,内容如下:

version: '3.8'

services:
  mysql:
    container_name: db_mysql
    image: mysql:latest  # 使用最新版本的MySQL
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: devops666  # 设置root用户密码
      MYSQL_DATABASE: mydb               # 可选:创建初始数据库
      MYSQL_USER: user                   # 可选:创建普通用户
      MYSQL_PASSWORD: userpassword       # 可选:普通用户密码
      TZ: Asia/Shanghai                  # 设置时区
    volumes:
      - ./data:/var/lib/mysql            # 持久化数据
      - ./logs:/var/log/mysql            # 持久化日志(可选)
      - ./conf/my.cnf:/etc/mysql/my.cnf  # 挂载自定义配置文件(可选)
    ports:
      - "3306:3306"                      # 映射端口

5. 启动MySQL服务

在终端中导航到~/mysql目录并运行以下命令启动MySQL服务:

docker-compose up -d

6. 验证MySQL服务是否正常运行

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

docker ps

你应该能看到名为db_mysql的容器正在运行。

7. 连接到MySQL数据库

可以使用MySQL客户端连接到数据库:

mysql -h 127.0.0.1 -P 3306 -u root -p

输入之前设置的密码(devops666)以访问MySQL。

闭坑指南

  • 权限问题:如果遇到权限问题,确保宿主机上的数据目录具有正确的读写权限。可以使用以下命令更改权限:

    sudo chown -R 1000:1000 ~/mysql/data
    
  • 连接失败:如果无法连接到MySQL,请检查防火墙设置和端口映射是否正确。

  • 容器重启问题:如果容器频繁重启,检查MySQL日志以获取错误信息,可以通过以下命令查看日志:

    docker logs db_mysql
    

总结

通过以上步骤,你可以在Ubuntu 22.04上成功地使用Docker部署最新版本的MySQL数据库。务必遵循最佳实践,以确保系统的安全性和稳定性。定期备份数据、监控性能,并根据实际需求调整配置,将帮助你在生产环境中更好地管理MySQL数据库。希望这篇文章能帮助你顺利搭建自己的数据库服务!


http://www.kler.cn/a/418341.html

相关文章:

  • 多点DMALL启动招股:将在港交所上市,聚焦数字零售服务
  • Java对象与XML互相转换(xstream)
  • Linux设置开启启动脚本
  • Oracle数据恢复—Oracle数据库sysaux文件损坏的数据恢复案例
  • 家庭打印机如何连接电脑
  • Observability:如何在 Kubernetes pod 中轻松添加应用程序监控
  • 如何在 VPS 上设置 Apache 并使用免费签名的 SSL 证书
  • Uniapp 使用自定义字体
  • Linux下如何安装JDK
  • 粒子群算法优化RBF网络
  • spark同步mysql数据到sqlserver
  • Latex相关问题
  • 基于yolov8、yolov5的铝材缺陷检测识别系统(含UI界面、训练好的模型、Python代码、数据集)
  • 强国复兴项目携手易方达基金、广发基金 高效推进扶贫金发放与保障房建设
  • windows C#-相等比较
  • 《windows堆内存剖析(一)》
  • ChromeBook11 HP G7EE 刷入Ubuntu的记录
  • 鲲鹏麒麟安装离线版MySQL5.7
  • 吉客云数据集成技巧:智能实现MySQL物料信息查询
  • 栈-数组描述(C++)
  • mysql查询语句执行全流程
  • 10x 性能提升,ProtonBase 为教育行业提供统一的数据库和数仓体验
  • 【C#设计模式(16)——解释器模式(Interpreter Pattern)】
  • 搭建业务的性能优化指南
  • [C/C++]排序算法1、冒泡排序
  • 汽车座舱系统名词