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

devtools/2024/12/22 0:59:38/

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.ppmy.cn/devtools/144229.html

相关文章

git重新提交方法

提交了几笔代码,修改之前某一笔的方法。 方法一: (本地需是最新版本,如果有提交未合,可以reset后再pull) 1.要修改的gerrit链接-右上角-download patch-复制cherry pick命令-as或项目中执行 2.修改代码 3.…

一篇文章理解前端的请求头和响应头含义

1.前言 作为一名前端开发必不可少的就是会和请求接口打交道,那么也应该理解请求头和响应头的含义,方便分析和快速定位问题及时解决。 通过这篇文章主要介绍比较常用的请求头和响应头,希望能对大家有所帮助。 2.什么是请求头和响应头 请求…

线性代数判断两条线方向相反(python)

以下是几种可以通过线性代数相关知识来判断两条线方向相反的方法,以下假设两条线都是二维平面上的线段,线 a 的端点坐标为 (x1_a, y1_a) 和 (x2_a, y2_a) ,线 b 的端点坐标为 (x1_b, y1_b) 和 (x2_b, y2_b) ,对应你给出的示例中 x…

SpringBoot集成ENC对配置文件进行加密

在线MD5生成工具 配置文件加密&#xff0c;集成ENC 引入POM依赖 <!-- ENC配置文件加密 --><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.2</ver…

dolphinscheduler服务RPC框架源码解析(八)RPC提供者服务整合Spring框架实现

RPC提供者服务整合Spring框架实现 1.概述2.整合设计2.1.设计分析2.2.实现类关系设计3.整合实现3.1.WorkerServer启动3.2.WorkerRpcServer启动3.3.SpringServerMethodInvokerDiscovery类3.4.扫描注册RPC提供者的ServerMethodInvoker对象3.5.谁来执行扫描注册3.6. 注册ServerMeth…

使用pyinstaller打包pyqt的程序,运行后提示ModuleNotFoundError: No module named ‘Ui_main‘

环境&#xff1a;windowpython3.9pyqt6 使用pyqt UI编辑器生成了main.ui &#xff0c;main.ui编译成了Ui_main.py main.py 使用当前目录下的Ui_main.py。 打包过程没报错&#xff0c;运行报错。 错误如下: 解决方法&#xff1a;pyinstaller -Fw main.py --paths. 使…

解决docker环境下aspose-words转换word成pdf后乱码问题

描述 环境&#xff1a;docker 部署工具&#xff1a;Jenkins 需求&#xff1a;本地上传的word文档需要转换成pdf 问题&#xff1a;转换之后的pdf文档出现小框框&#xff08;乱码&#xff09; 转换成PDF的操作 pom&#xff1a; <dependency><groupId>org.apach…

安装指南|OpenCSG Starship上架GitHub Marketplace

在代码开发的日常中&#xff0c;你是否常常被以下问题困扰&#xff1f; 代码审查耗时太长&#xff0c;拖慢项目进度&#xff1f; 审查质量参差不齐&#xff0c;一些关键问题被遗漏&#xff1f; 复杂代码变更看不懂&#xff0c;审查者需要大量时间理解意图&#xff1f; 别担…