MariaDB
MariaDB是一个流行的开源关系型数据库管理体系(RDBMS),它是MySQL的一个分支和替代品。
- 官网:https://mariadb.com/
- 镜像:https://hub.docker.com/_/mariadb
- mkdir mariadb && cd mariadb
- mkdir data conf logs
复制代码
- 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
- # 生成日志
- 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-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/
- 支持的数据库
注意: 服务器不要填 127.0.0.1,要填缩主机IP地址,否则连接不上。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |