Docker 摆设 MariaDB 数据库 与 Adminer 数据库管理工具

盛世宏图  金牌会员 | 2024-9-30 21:05:30 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 835|帖子 835|积分 2505

MariaDB

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

  • 官网:https://mariadb.com/
  • 镜像:https://hub.docker.com/_/mariadb
  1. docker pull mariadb
复制代码


  • 创建缩主机目录
  1. mkdir mariadb && cd mariadb
  2. mkdir data conf logs
复制代码


  • 摆设服务并拷贝 mariadb.cnf
  1. docker run -d --name mariadb -e MARIADB_ROOT_PASSWORD="4NuMDwIzp05BdKp7Bdmf" mariadb
  2. # 将 mariadb.cnf 配置复制出来
  3. docker cp mariadb:/etc/mysql/mariadb.cnf ./
复制代码
mariadb.cnf

  1. [client-server]
  2. port = 3306
  3. socket = /run/mysqld/mysqld.sock
  4. # 生成日志
  5. general_log=1
  6. general_log_file=/var/log/mysql/mysql.log
  7. # 无论是否超时,未被索引的记录也会记录下来
  8. log_queries_not_using_indexes=1
  9. # 全局开启慢查询功能
  10. slow_query_log=1
  11. # 慢查询阈值(秒),SQL 执行超过这个阈值将被记录在日志中
  12. long_query_time=1
  13. # 慢查询仅记录扫描行数大于此参数的 SQL
  14. min_examined_row_limit=500
  15. # 指定慢查询日志存储文件的地址和文件名
  16. slow_query_log_file=/var/log/mysql/slow.log
  17. # 取消 ONLY_FULL_GROUP_BY
  18. sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
  19. # 开启定时事件
  20. event_scheduler=1
  21. # 表名大小写不敏感
  22. lower_case_table_names=1
  23. # 设置字符集
  24. character_set_server=utf8mb4
  25. collation_server=utf8mb4_bin
  26. # 默认使用的存储引擎
  27. default_storage_engine=InnoDB
复制代码
开启 binlog

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

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

  • 官网:https://www.adminer.org/
  • 插件:https://www.adminer.org/en/plugins/
  • 镜像:https://hub.docker.com/_/adminer
  1. docker pull adminer
复制代码
docker-compose.yml



  • 创建缩主机目录
  1. mkdir mariadb && cd mariadb
  2. mkdir data conf logs
复制代码
  1. services:
  2.   mariadb:
  3.     image: mariadb
  4.     container_name: mariadb
  5.     restart: always
  6.     ports:
  7.       - 3306:3306
  8.     environment:
  9.       MARIADB_ROOT_PASSWORD: "4NuMDwIzp05BdKp7Bdmf"
  10.       MARIADB_DATABASE: "demo"
  11.       MARIADB_USER: "test"
  12.       MARIADB_PASSWORD: "mariadb123456"
  13.     volumes:
  14.       - /etc/localtime:/etc/localtime
  15.       - ./mariadb/data:/var/lib/mysql
  16.       - ./mariadb/conf:/etc/mysql/conf.d
  17.       - ./mariadb/logs:/var/log/mysql
  18.   adminer:
  19.     image: adminer
  20.     container_name: adminer
  21.     restart: always
  22.     ports:
  23.       - 8080:8080
  24.     depends_on:
  25.       - mariadb
复制代码
Adminer 连接 MariaDB



  • http://localhost:8080/
  • 支持的数据库



  • 连接 MariaDB

  • 登录乐成

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

盛世宏图

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表