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

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

MariaDB 是 MySQL 的一个分支,旨在保持开源和社区驱动,提供高性能和稳定性。它被广泛应用于各种类型的应用程序,特别是在需要高可用性和可扩展性的环境中。Docker 是一个流行的容器化平台,允许开发者将应用及其依赖打包为容器,这使得部署和管理数据库变得简单高效。

一、使用到的 Docker 和 MariaDB 软件简介

  • Docker:Docker 是一种开源的应用容器引擎,能够将应用及其依赖打包成一个标准化的容器。容器能够在任何支持 Docker 的环境中运行,确保了跨平台的兼容性和灵活性。使用 Docker 部署应用程序,尤其是数据库,可以显著提高开发和测试的效率。

  • MariaDB:MariaDB 是一个高性能的关系数据库管理系统,旨在替代 MySQL。它兼容 MySQL,并提供更多的存储引擎和性能优化。MariaDB 支持 ACID 事务,能够处理复杂的查询,非常适合企业级应用和大型网站。

二、在 Ubuntu 下通过 Docker 部署 MariaDB 服务器的步骤

步骤 1:安装 Docker

首先,确保你的 Ubuntu 系统已安装 Docker。如果没有,可以使用以下命令进行安装:

sudo apt update
sudo apt install docker.io

安装完成后,启动 Docker 并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker

步骤 2:拉取 MariaDB 镜像

接下来,拉取最新的 MariaDB Docker 镜像:

sudo docker pull mariadb:latest

步骤 3:运行 MariaDB 容器

运行 MariaDB 容器,并配置数据库的环境变量:

sudo docker run -d \
  --name mariadb-server \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=your_database_name \
  -e MYSQL_USER=your_username \
  -e MYSQL_PASSWORD=your_user_password \
  -p 3306:3306 \
  mariadb:latest

参数解释

  • -d:后台运行容器。
  • --name:指定容器名称。
  • -e MYSQL_ROOT_PASSWORD:设置 root 用户的密码。
  • -e MYSQL_DATABASE:创建一个初始数据库。
  • -e MYSQL_USER:创建一个新的数据库用户。
  • -e MYSQL_PASSWORD:为新的用户设置密码。
  • -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口,以便外部访问。

步骤 4:连接到 MariaDB

你可以使用以下命令连接到运行中的 MariaDB 容器:

sudo docker exec -it mariadb-server mysql -u root -p

输入之前设置的 your_root_password 以访问 MariaDB 控制台。

步骤 5:数据持久化(可选)

如果你希望保存数据,可以挂载一个本地目录到容器中,以确保数据不会丢失:

sudo docker run -d \
  --name mariadb-server \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -v /path/to/your/data:/var/lib/mysql \
  -p 3306:3306 \
  mariadb:latest

小结

通过以上步骤,你已经成功在 Ubuntu 上通过 Docker 部署了 MariaDB 服务器。现在,你可以轻松管理和访问你的数据库应用了。记得根据实际需求调整数据库配置,确保你的数据安全和性能优化。


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

相关文章:

  • Docker:Dockerfile(补充四)
  • JumpServer开源堡垒机搭建及使用
  • C++版实用时间戳类(Timestamp)
  • 电气设计 | 低压接地系统:TN-C 、TN-S、TN-C-S、TT适用哪些场所?
  • STM32MP1linux根文件系统目录作用
  • outlook smtp 发送邮件
  • 2024.12.18 周三
  • 对 MYSQL 架构的了解
  • PySide6如何使用自定义委托实现在TableWidget填充颜色
  • CTF 伪造ip的http请求头(学习记录)
  • sql server 查询对象的修改时间
  • 1. 深度学习介绍
  • winpcap抓包原理
  • 记忆组合数据知识
  • 基于LSTM和SSUN模型的高光谱遥感分类实现
  • PCL点云库入门——PCL库中点云数据拓扑关系之K-D树(KDtree)
  • 1、学习大模型总纲
  • FreeRTOS的任务调度
  • 全志H618 Android12修改doucmentsui鼠标单击图片、文件夹选中区域
  • Suno Api V4模型无水印开发「高清音频WAV下载」 —— 「Suno Api系列」第6篇
  • netcore 集成Prometheus
  • 大数据-环保领域
  • 【1.排序】
  • 【Linux】-学习笔记10
  • 呼入机器人:24小时客户服务的未来趋势
  • 秒优科技-供应链管理系统 login/doAction SQL注入漏洞复现