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

news2024/11/27 4:20:05

文章目录

  • 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: mariadb
    container_name: mariadb
    restart: always
    ports:
      - 3306:3306
    environment:
      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/mysql
  adminer:
    image: adminer
    container_name: adminer
    restart: always
    ports:
      - 8080:8080
    depends_on:
      - mariadb

Adminer 连接 MariaDB

  • http://localhost:8080/

  • 支持的数据库

在这里插入图片描述

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1874972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拆分盘投资策略解析:机制、案例与风险考量

一、引言 随着互联网技术的迅猛发展和金融市场的不断创新,拆分盘这一投资模式逐渐崭露头角,成为投资者关注的焦点。它基于特定的拆分策略,通过调整投资者持有的份额和单价,实现了看似稳健的资产增长。本文旨在深入探讨拆分盘的运…

黑芝麻科技A1000简介

文章目录 1. A1000 简介2. 感知能力评估3. 竞品对比4. 系统软件1. A1000 简介

父元素hover子元素显示之opacity

碰到的几种问题: opacity 占实际位置, 会触发父元素的hover事件。 尝试了一下把菜单的pointer-events: none;但是鼠标移动不到菜单上去了,移动到菜单上也会不显示。 解决方法: opacity 和 visibility一起使用。 .dropdown .dropdown-menu …

OpenHarmony南向驱动开发实战-Input

简介 该仓下主要包含Input模块HDI(Hardware Driver Interface)接口定义及其实现,对上层输入服务提供操作input设备的驱动能力接口,HDI接口主要包括如下三大类: InputManager:管理输入设备,包括…

11集干货必看!在Docker上编译tensorFlow Lite MCU例子工程-《MCU嵌入式AI开发笔记》

【11集在Docker上编译tensorFlow Lite MCU例子工程-《MCU嵌入式AI开发笔记》】 这一集咱们一步一步的在doc下面编译TensorFlow Lite的例程 https://tensorflow.google.cn/lite/tutorials?hlzh-cn 进入这个例子: https://codelabs.developers.google.cn/codelabs/…

《Attention is all you need》通俗解读,彻底理解版:part2

这是《Attention Is All You Need》通俗解读的第2篇,上一篇见这里。 本篇解读模型结构的编码器和解码器,对应于论文的 3.1 小节。 这一部分在论文中作者写的并不长,很多内容没有展开来讲。 虽然对于这一类具有原创架构的论文而言&#xff…

open-chat-video-editor:开源短视频生成和编辑工具,以及抖音|TikTok 的移动端短视频项目

open-chat-video-editor:开源短视频生成和编辑工具,以及抖音|TikTok 的移动端短视频项目。 open-chat-video-editor:开源短视频生成和编辑工具 简介 Open Chat Video Editor是开源的短视频生成和编辑工具,整体技术框架如下&…

微盟×爱分析发布《2024年企业AI应用趋势洞察报告》

2023年,国内生成式AI爆发式发展,引发大模型创业热潮。随着大模型的竞争从技术往商业化应用方面延伸,企业级AI应用也迎来了快速发展。6月26日,微盟与爱分析联合发布了《2024年企业AI应用趋势洞察报告》(以下简称《报告》…

确保家电安全无忧:可燃气体报警器检验的重要性与必要性

随着家电行业的快速发展,安全问题已成为消费者关注的焦点。 可燃气体报警器作为一种重要的安全装置,在保障家庭安全中扮演着至关重要的角色。它能够实时监测室内可燃气体浓度,一旦超过预设的安全阈值,便会发出警报,提…

嵌入式Linux系统编程 — 4.6 atoi、strtol等函数实现字符串与数字转换

目录 1 字符串转整形数据 1.1 函数功能 1.2 示例程序 2 字符串转浮点型数据 2.1 函数介绍 2.2 示例程序 3 数字转字符串 3.1 函数介绍 3.2 函数原型 在编程中,经常会需要将数字组成的字符串转换为相应的数字、或者将数字转换为字符串,在 C 函数…

倩女幽魂装备攻略:全面解读与获取指南!

《倩女幽魂》作为一款经典的网络游戏,以其丰富多彩的装备系统和多样的玩法吸引了大量玩家。本文将深入解析《倩女幽魂》中的装备系统,包括装备的颜色、类别、词缀以及获取途径,帮助玩家更好地理解和利用装备来提升自己的游戏体验。 首先下载专…

分享恒指交易的一些心得

1、 做恒指跟国内其它期货一样,可以使用的指标有很多,最重要看适不适合 2、恒指交易一般是短线交易,可以看1分钟线图或3分钟,时间周期越短,反应越快,灵敏度越高 3、做恒指期货操作的时候不要重仓&#xf…

C语言力扣刷题10——有效的括号——[栈]

力扣刷题10——有效的括号——[栈] 一、博客声明二、题目描述三、解题思路1、知识补充 a、什么是栈(Stack) 2、思路说明 四、解题代码(附注释) 一、博客声明 找工作逃不过刷题,为了更好的督促自己学习以及理解力扣大佬…

问题解决:python安装依赖时网络问题报错

进行 pip install 时,安装轮子访问过慢而造成安装失败,有时候配置镜像源仍会出现莫名其妙的问题,包括网络代理问题等。看了一些解决方案,找出了一个最适合的方式,如下所示: pip install -i https://pypi.t…

androidx.preference框架介绍

一,概要 Preference作为setting核心框架,笔者对此框架做一个简单的解析,androidx.preference本质是对设置领域提供了一层View封装,以android view本身的策略模式进行二次开发,将常用的一些设置样式封装到不同的Preference中,以达到快速开发设置相关功能。并且,此风格与…

labview排错

源代码正常跑,应用程序报这个错,是因为源代码的可以找到项目路径内所有dll的路径,而应用程序只能找到data文件夹的dll文件 解决查看源代码中.net的程序集的路径,复制对应的dll到data文件夹下 在执行developinterface.dll出现labv…

k8s架构设计思想

1.谷歌borg云计算管理平台 一类:infrastucture platform software 另一类:borg为主的非虚拟化技术,调度进程 核心是轻量级作业调度,不是做虚拟化/云平台的 borg本身用了一些容器技术 生产业务product workload要求高可用&#xf…

知名大客户销售讲师培训师专家顾问讲运营商政企客户银行公司金融客户销售AI数字B2B市场B2B销售技巧B2B销售策略大客户销售技巧人工智能高价值客户销售

最近在写一本新书AI时代的大客户销售个人如何转型?个人核心能力与方法论如何办? 传统的大客户销售、顾问式销售正在走向高原,销售人效比及效率到达边界,AI数字化销售正在扑面而来。 AI时代销售的未来:销售的必经之路 …

深度解读昇腾CANN计算图优化技术,提升算法计算效率

随着大模型时代的到来,AI算法的能力上限不断被刷新,算力门槛也在持续飙升,如何在有限的计算资源的条件下优化和训练模型显得尤其重要。面向计算图编译和运行优化场景,昇腾AI异构计算架构CANN(Compute Architecture for…

餐饮点餐系统

餐饮点餐系统是一款为餐厅和顾客提供便捷点餐服务的在线平台。 1.DDL CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY COMMENT 用户ID,username VARCHAR(50) NOT NULL UNIQUE COMMENT 用户名,password VARCHAR(255) NOT NULL COMMENT 密码,email VARCHAR(100) UNIQUE…