MariaDB数据库+Adminer轻量数据库管理工具
2024年2月24日
简单理解数据库和使用。
前言
在使用Docker时,经常碰到要为了一个容器,从而重新部署一个数据库,这样比较分散,不便于管理。可以使用MariaDB,搭配adminer进行数据库管理。
MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行。
- 数据库结构可以理解为- 文件夹和Excel表格文件的关系
层级如下:
.
├── .MariaDB
│ └── MySQL (Excel表格-数据库1)
│ └── MySQL2 (Excel表格-数据库2)
.
每个数据库都可以为其添加用户和密码,这样就能单独访问某一个数据库。
安装MariaDB+Adminer
MariaDB+Adminer Stack
将配置中的 ROOT_ACCESS_PASSWORD 替换成要给 root 用户设置的密码。
---
version: "2"
services:
mariadb:
image: linuxserver/mariadb
container_name: mariadb
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
- TZ=Asia/Shanghai
volumes:
- /volume1/docker/mariadb/mariadb_data:/config
ports:
- 3306:3306
networks:
- mynet
restart: unless-stopped
adminer:
image: adminer
container_name: adminer
environment:
- ADMINER_DEFAULT_SERVER=mariadb
ports:
- 9090:8080
networks:
- mynet
restart: unless-stopped
networks:
mynet:
external:
name: mynet
Adminer管理数据库
一键部署完成后,使用 http://nas-ip:8080
, 访问 adminer 的应用界面。 (nas-ip
换成你的本地ip)
初次登录信息如下:
- 系统:MYSQL
- 服务器:mariadb
- 用户名:root
- 密码:配置文件中 MYSQL_ROOT_PASSWORD 项的值
创建数据库
校对: utf8mb4_general_cI (可存储表情数据)
创建数据库用户
Password hash should be a 41-digit hexadecimal number
在设置密码时以上报错:Password hash should be a 41-digit hexadecimal number 原因是:输入的密码是明文,它要求你输入十六进制数字。
解决方法:
select password('密码')
用上方代码-替换密码
,然后使用SQL命令-执行
得到对应的十六进制码,再用十六进制码代替明文密码。
docker compose遇到容器需要绑定的数据库环境描述
那么就按下方注释的信息去创建数据库和用户与密码
容器A:
xxx...
environment:
- MYSQL_HOST=mysql #登陆主机名称-也就是容器的名称
- MYSQL_DATABASE=lsky-pro #下方容器新建的数据库名称
- MYSQL_USER=lsky-pro #下方容器新建的数据库的用户
- MYSQL_PASSWORD=lsky-pro #下方容器新建的数据库的密码
networks:
- mynet
mysql:
xxx...
environment:
- MYSQL_DATABASE=lsky-pro #新建数据库的名称
- MYSQL_USER=lsky-pro #新建数据库的用户
- MYSQL_PASSWORD=lsky-pro #新建数据库的密码
- MYSQL_ROOT_PASSWORD=lsky-pro #容器-数据库的root账号密码
networks:
- mynet
networks:
mynet:
external:
name: mynet
提示
注意的是,其他要使用这个数据库的容器应用,需要都加入到你创建的network中。这样容器之间才可以相互访问。如上方所示·