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

Docker 部署 MariaDB 数据库 与 Adminer 数据库管理工具

文章目录

  • MariaDB
    • mariadb.cnf
    • 开启 binlog
  • Adminer
  • docker-compose.yml
  • Adminer 连接 MariaDB

MariaDB

MariaDB是一个流行的开源关系型数据库管理系统(RDBMS),它是MySQL的一个分支和替代品。

  • 官网:https://mariadb.com/
  • 镜像:https://hub.docker.com/_/mariadb
docker pull mariadb
  • 创建缩主机目录
mkdir mariadb && cd mariadb
mkdir data conf logs
  • 部署服务并拷贝 mariadb.cnf
docker run -d --name mariadb -e MARIADB_ROOT_PASSWORD="4NuMDwIzp05BdKp7Bdmf" mariadb
# 将 mariadb.cnf 配置复制出来
docker cp mariadb:/etc/mysql/mariadb.cnf ./

mariadb.cnf

[client-server]port = 3306
socket = /run/mysqld/mysqld.sock# 不再自动创建登录权限
sql_mode=NO_AUTO_CREATE_USER# 生成日志
general_log=1
general_log_file=/var/log/mysql/mysql.log# 无论是否超时,未被索引的记录也会记录下来
log_queries_not_using_indexes=1
# 全局开启慢查询功能
slow_query_log=1
# 慢查询阈值(秒),SQL 执行超过这个阈值将被记录在日志中
long_query_time=1
# 慢查询仅记录扫描行数大于此参数的 SQL
min_examined_row_limit=500
# 指定慢查询日志存储文件的地址和文件名
slow_query_log_file=/var/log/mysql/slow.log# 取消 ONLY_FULL_GROUP_BY
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
# 开启定时事件
event_scheduler=1
# 表名大小写不敏感
lower_case_table_names=1
# 设置字符集
character_set_server=utf8mb4
collation_server=utf8mb4_bin# 默认使用的存储引擎
default_storage_engine=InnoDB

开启 binlog

[client-server]
# binlog功能
log_bin=/var/lib/mysql/mysql-bin
# binlog 文件格式
binlog_format=ROW
# 表无论有没有主键约束或者唯一约束binlog都会记录所有前后镜像
binlog_row_image=FULL
# binlog 文件保留时间7天(默认0天)
expire_logs_days=7
# binlog 单个文件的最大值大小(默认1G)
max_binlog_size=512m
# 开启 binlog 后需要创建 function 或 procedure 时要开启
log_bin_trust_function_creators=1
# 服务id,以区分主库和备库
server-id=1

Adminer

Adminer是一个轻量级的开源数据库管理工具,设计用于管理MySQL、MariaDB、SQLite、PostgreSQL等多种关系型数据库。

  • 官网:https://www.adminer.org/
  • 插件:https://www.adminer.org/en/plugins/
  • 镜像:https://hub.docker.com/_/adminer
docker pull adminer

docker-compose.yml

  • 创建缩主机目录
mkdir mariadb && cd mariadb
mkdir data conf logs
services:mariadb:image: mariadbcontainer_name: mariadbrestart: alwaysports:- 3306:3306environment:MARIADB_ROOT_PASSWORD: "4NuMDwIzp05BdKp7Bdmf"MARIADB_DATABASE: "demo"MARIADB_USER: "test"MARIADB_PASSWORD: "mariadb123456"volumes:- /etc/localtime:/etc/localtime- ./mariadb/data:/var/lib/mysql- ./mariadb/conf:/etc/mysql/conf.d- ./mariadb/logs:/var/log/mysqladminer:image: adminercontainer_name: adminerrestart: alwaysports:- 8080:8080depends_on:- mariadb

Adminer 连接 MariaDB

  • http://localhost:8080/

  • 支持的数据库

在这里插入图片描述

  • 连接 MariaDB
    在这里插入图片描述
  • 登录成功
    在这里插入图片描述

注意: 服务器不要填 127.0.0.1,要填缩主机IP地址,否则连接不上。

相关文章:

Docker 部署 MariaDB 数据库 与 Adminer 数据库管理工具

文章目录 MariaDBmariadb.cnf开启 binlog Adminerdocker-compose.ymlAdminer 连接 MariaDB MariaDB MariaDB是一个流行的开源关系型数据库管理系统(RDBMS),它是MySQL的一个分支和替代品。 官网:https://mariadb.com/镜像&#xff…...

qt 可以在一个函数中读一个文件,然后再将内容写入另一个文件中

是的,Qt 允许你在一个函数中读取一个文件的内容,并将这些内容写入到另一个文件中。这可以通过结合使用 QFile 和 QTextStream(或 QDataStream,取决于你的具体需求)来实现。以下是一个简单的示例,展示了如何…...

Dijkstra算法C代码

一个带权图n个点m条边,求起点到终点的最短距离 先定义一个邻接矩阵graph,graph[i][j]表示从i到j的距离,i到j没有路就表示为无穷 然后定义一个visit数组,visit[i]表示i结点是否被访问 然后定义一个dist数组,dist[i]表…...

P1064 [NOIP2006 提高组] 金明的预算方案

[NOIP2006 提高组] 金明的预算方案 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置&#xff0…...

大型企业组网如何规划网络

大型企业组网是一个复杂的过程,它需要细致的规划和设计,以确保网络能够满足企业的业务需求,同时保证性能、安全性和可扩展性。以下是规划大型企业网络的一些关键步骤和考虑因素: 1. 需求分析 业务需求:与各个业务部门…...

java:aocache的单实例缓存(二)

之前一篇博客《java:aocache的单实例缓存》介绍了aoocache使用注解AoCacheable实现单实例缓存的方式,同时也指出了这种方式的使用限制,就是这个注解定义的构造方法,不能再创建出新实例。 为了更灵活方便的实现单实例。aocache最新版本0.4.0增…...

ElasticSearch安装部署

简介 Elasticsearch 是一个开源的分布式搜索和分析引擎,用于实时地存储、检索和分析大数据量。它基于 Apache Lucene 搜索引擎库构建而成,提供了一个强大、稳定且易于扩展的搜索解决方案。 主要特点和用途: 分布式存储和搜索: E…...

数据赋能(132)——开发:数据转换——影响因素、直接作用、主要特征

影响因素 数据转换过程中需要考虑的一些影响因素: 数据格式与结构: 不同系统或应用可能使用不同的数据格式(如JSON、XML、CSV等)和数据结构(如关系型数据库、非关系型数据库等)。数据转换需要确保原始数据…...

TMGM:ASIC撤销禁令,TMGM强化合规、重启差价合约服务

TMGM作为差价合约(CFDs)与保证金外汇交易领域的领航者,安全、合规、高效被奉为我集团的终身使命。澳大利亚证券和投资委员会(ASIC)已正式撤销了早前针对TMGM差价合约业务实施的临时止损令。这一误会的解除,…...

基于SpringBoot网吧管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 Java精品实战案例《600套》 2025-2026年最值得选择的Java毕业设计选题大全&#xff1…...

实测2024年最佳的三款Socks5代理IP网站

一、引言 在浩瀚的网络世界中,Socks5代理IP服务如同导航灯塔,指引我们穿越数据海洋,安全、稳定地访问目标网站。作为专业的测评团队,我们深知一款优秀的Socks5代理IP网站需要具备哪些特质:稳定的IP资源、高效的连接速…...

Pythonnet能导入clr,但无法引入System模块?

【pythonnet详解】—— Python 和 .NET 互操作的库_pythonnet 详细使用-CSDN博客 Python中动态调用C#的dll动态链接库中方法_python 如何调用c# dll-CSDN博客 需求&#xff1a;Python调用并传List<float>类型参数给.Net 起初&#xff1a;直接 # 创建一个Python浮点数…...

媒体宣发套餐的概述及推广方法-华媒舍

在今天的数字化时代&#xff0c;对于产品和服务的宣传已经变得不可或缺。媒体宣发套餐作为一种高效的宣传方式&#xff0c;在帮助企业塑造品牌形象、扩大影响力方面扮演着重要角色。本文将揭秘媒体宣发套餐&#xff0c;为您呈现一条通往成功的路。 1. 媒体宣发套餐的概述 媒体…...

Windows和Linux C++判断磁盘空间是否充足

基本是由百度Ai写代码生成的&#xff0c;记录一下。实现此功能需要调用系统的API函数。 对于Windows&#xff0c;可调用函数GetDiskFreeSpaceEx&#xff0c;使用该函数需要包含头文件windows.h。该函数的原型&#xff1a; 它的四个参数&#xff1a; lpDirectoryName&#xff0…...

数据访问层如何提取数据到其他层,其他类中

当然可以&#xff0c;以下是一些具体的例子&#xff0c;展示了如何将数据库访问逻辑封装在一个单独的类中&#xff0c;并在其他类中使用这个类来获取数据。 数据库访问类&#xff08;DatabaseAccess.java&#xff09;&#xff1a; java复制代码 import java.sql.*; import ja…...

【JS】AI总结:JavaScript中常用的判空方法

在JavaScript中&#xff0c;判空是一个常见的操作&#xff0c;因为变量可能未定义、未初始化或包含特定的空值。以下是JavaScript中常用的判空方法&#xff1a; 使用if语句直接判断&#xff1a; 如果变量是null、undefined、0、NaN、空字符串&#xff08;""&#xff…...

Rust单元测试、集成测试

单元测试、集成测试 在了解了如何在 Rust 中写测试用例后&#xff0c;本章节我们将学习如何实现单元测试、集成测试&#xff0c;其实它们用到的技术还是上一章节中的测试技术&#xff0c;只不过对如何组织测试代码提出了新的要求。 单元测试 单元测试目标是测试某一个代码单…...

vue全局方法plugins/utils

一、在src目录下创建一个plugins文件夹 test.ts文件存放创建的方法&#xff0c;index.ts用于接收所有自定义方法进行统一处理 二、编写自定义方法 // test.ts文件 export default {handleTest(val1: number, val2: number) {// 只是一个求和的方法return val1 val2;}, };三…...

高阶算法班从入门到精通之路

课程介绍 本课程旨在帮助学员深入理解算法与数据结构的核心概念&#xff0c;从而掌握高级算法设计与分析技能。每集课程内容精心设计&#xff0c;涵盖了常用数据结构、经典算法及其应用场景等方面的深度讲解&#xff0c;同时通过大量实例演练&#xff0c;帮助学员提升解决实际…...

C++ 左值右值

文章目录 概述左值右值右值引用左值和右值的互换 小结 概述 左值和右值属于2中不同的表达式类型&#xff1b;它们在表达式中扮演不同的角色&#xff0c;特别是在赋值操作和函数参数传递中。 左值 定义&#xff1a;左值是指那些在内存中有确定位置的表达式&#xff0c;可以出…...

16nm FinFET与3D-IC设计验证的技术突破与应用

1. 16nm FinFET与3D-IC设计验证的技术突破2013年9月&#xff0c;ANSYS子公司Apache Design与台积电&#xff08;TSMC&#xff09;达成重要合作&#xff0c;将RedHawk和Totem工具集成到TSMC 16nm FinFET参考流程和3D-IC参考流程中。这一合作标志着半导体设计验证技术迈入新阶段&…...

Quectel移远展锐平台5G模组RX500U/RG200U工作模式深度解析:从网卡到路由的实战选择

1. 5G模组工作模式基础认知 第一次接触Quectel移远展锐平台5G模组时&#xff0c;最让我困惑的就是网卡模式和路由模式的区别。记得去年做智能快递柜项目时&#xff0c;就因为没搞清这两种模式的特点&#xff0c;导致现场调试时手忙脚乱。后来在工业网关项目上反复折腾RX500U模组…...

STM32H743XIH6实战:用CubeMX搞定TIM6定时器中断和USART1串口通信(附完整代码)

STM32H743XIH6实战&#xff1a;CubeMX配置TIM6定时器中断与USART1通信全流程解析 1. 开发环境搭建与工程初始化 对于嵌入式开发者而言&#xff0c;一个稳定可靠的开发环境是项目成功的基础。在开始STM32H743XIH6的外设配置前&#xff0c;我们需要确保所有工具链已正确安装并配置…...

LTX2.3 最强开源视频生成模型 文生图 / 图生视频 / 音频驱动|低端显卡本地安装

LTX2.3 是 Lightricks 推出的开源音视频生成模型&#xff0c;支持文生视频、图生视频、音频驱动生成视频&#xff0c;原生音画同步、支持 4K / 竖屏&#xff0c;消费级显卡可本地部署&#xff0c;一键整合包开箱即用。 一、LTX2.3 是什么 LTX‑2.3 是 Lightricks 发布的开源视…...

容器存储进阶:PersistentVolume(PV)_PVC 底层原理 + 动态供应踩坑 + 数据备份恢复实战

容器存储进阶:PersistentVolume(PV)/PVC 底层原理 + 动态供应踩坑 + 数据备份恢复实战 前言:在Kubernetes容器集群中,PersistentVolume(PV)与PersistentVolumeClaim(PVC)是实现容器持久化存储的核心组件,但生产环境中,多数运维人员往往卡在基础配置层面,而忽略了动…...

ARM架构中的TLBI指令与内存管理基础

1. ARM架构中的TLBI指令与内存管理基础在ARMv8/v9架构中&#xff0c;TLBI&#xff08;Translation Lookaside Buffer Invalidate&#xff09;指令族是内存管理单元&#xff08;MMU&#xff09;的核心操作指令&#xff0c;负责管理地址转换缓存。当CPU通过虚拟地址访问内存时&am…...

开源客户端工具设计:从API封装到健壮实现的工程实践

1. 项目概述&#xff1a;一个开源客户端工具的诞生与价值在开源世界里&#xff0c;我们经常会遇到一些功能强大但使用门槛较高的服务端项目。它们往往提供了核心的API或服务&#xff0c;但缺少一个能让普通用户或开发者快速上手、直观操作的“门面”。lotsoftick/openclaw_clie…...

【目标检测系统】基于YOLOv8的DOTA遥感小目标检测系统

一、系统介绍本系统是一套基于深度学习的DOTA遥感目标检测系统&#xff0c;采用 Ultralytics YOLOv8 作为核心检测引擎&#xff0c;PySide6 构建图形用户界面&#xff0c;专门用于遥感解译、地理空间分析、军事侦察、城市规划等场景。用户只需加载预训练模型并选择图片、视频或…...

2026年,天津市专业初高中辅导辅导班名声究竟几何?快来一探究竟!

在天津&#xff0c;初高中辅导市场竞争激烈&#xff0c;众多家长和学生都在寻找靠谱的辅导机构。2026年&#xff0c;方舟优学&#xff08;天津&#xff09;教育科技有限公司在这片市场中脱颖而出&#xff0c;下面我们就来深入了解一下它以及其他一些知名机构的情况。一、方舟优…...

进程池(C/C++)

C语言实现 /** 进程池示例* 使用消息队列进行任务分发*/#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/wait.h> #include <sys/msg.h> #include <string.h>#define WORKER_NUM 3 // 进程池中工作进…...