Docker使用MariaDB (mysql)
date
May 12, 2022
slug
newservice-mariadb-mysql
status
Published
summary
新服务
tags
service
type
Post
URL
Summary步骤Docker一行开启!!! 别人使用这个maria db docker的时候一定要
docker run -d ... --link shared_mariadb:db ...或者创建一个容器网络,方便需要互通的容器加入进入docker,进行mysql创建db等操作
Summary
- docker使用mysql/mariadb 的各种技巧
步骤
Docker一行开启
DOCKER_MYSQL_ROOT_PASS=a8D72ypd
DOCKER_MYSQL_USER_PASS=St4Ha9U6
mkdir -p /data/shared_mariadb && cd /data/shared_mariadb
# persistant mysql db
docker run -d \
--name=shared_mariadb \
-e PUID=1000 \
-e PGID=1000 \
-e MYSQL_ROOT_PASSWORD=${DOCKER_MYSQL_ROOT_PASS} \
-e TZ=Asia/Hong_Kong \
-e MYSQL_DATABASE=master_db `#optional` \
-e MYSQL_USER=master_user `#optional` \
-e MYSQL_PASSWORD=${DOCKER_MYSQL_USER_PASS} `#optional` \
-p 18888:3306 \
-v $(pwd)/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/mariadb:latest
docker logs shared_mariadb
# 获得分配的docker ip
docker inspect shared_mariadb | grep "IPAddress"
## !!! 别人使用这个maria db docker的时候一定要
docker run -d ... --link shared_mariadb:db ...
# 或者建立
!!! 别人使用这个maria db docker的时候一定要 docker run -d ... --link shared_mariadb:db ...
- 填 docker_ip:3306 (而非18888) 或者 db:3306 (db就是hostname)
- 填 vps_host_ip:18888
或者创建一个容器网络,方便需要互通的容器加入
docker network ls
docker network create -d bridge network_shared_mariadb
# 将
# --link shared_mariadb:db \
# 替换成
# --network network_shared_mariadb \
# shared_mariadb 的执行命令也要带上这行
# 即可用 docker_ip 来访问了
进入docker,进行mysql创建db等操作
docker exec -it shared_mariadb /bin/bash ##进入数据库容器
mysql -uroot -p
# docker exec -it shared_mariadb mysql -uroot -p
create database new_db_name character set utf8mb4 collate utf8mb4_bin;
CREATE USER 'new_username'@'%' IDENTIFIED BY 'some_password';
grant all on new_db_name.* to 'new_username'@'%' with grant option;
flush privileges;