Skip to content

db_install

769字约3分钟

2024-08-19

MySQL安装

# 查询mysql镜像
docker search mysql     
# 拉取最新版mysql镜像
docker pull mysql       

# 创建mysql实例,指定映射目录(映射路径和版本有关系,不通版本不一样,先通过第一行命令场景成功后进入命令行插件配置文件)、端口、root密码.
docker run -itd -p 3306:3306 --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=123456 \
-h mysql_server \
-v /etc/mysql:/etc/mysql \
-v /var/lib/mysql-files:/var/lib/mysql-files \
-v /var/lib/mysql:/var/lib/mysql \
mysql \
--lower-case-table-names=1   # 表名称不区分大小写

# 运行mysql 命令行,授权远程访问,新建用户并授权。
docker exec -it mysql bash
mysql>mysql -uroot -p123456
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'root@123';
msyql>create user 'dev'@'%' IDENTIFIED BY 'dev@123';
msyql>grant all privileges on *.* to dev@'%';

安装包下载:https://mirrors.huaweicloud.com/mysql/Downloads/

Redis 安装

# 查询redis镜像
docker search redis
# 拉去最新版redis
docker pull redis
# 创建redis实例,无本地存储,无配置文件
docker run --restart=always -p 6379:6379 --name redis -h redis_server \
-d redis --requirepass redis@123

# 进入命令行
docker exec -it redis bash
redis_server> redis-cli

# 添加配置文件和数据存储,将redis.conf文件放在/etc/redis/redis.conf, 根据需要添加配置,全量添加会有问题
# 下载 https://gitee.com/crushlxb/myredis/blob/master/redis.conf
docker run --restart=always -p 6379:6379 --name redis -h redis_server \
-v /etc/redis/redis.conf:/etc/redis/redis.conf \
-v /var/local/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf

安装包下载:https://mirrors.huaweicloud.com/redis/

Mariadb 安装

# 查询redis镜像
docker search mariadb
# 拉取最新的mariadb
docker pull mariadb

# 创建挂在目录
mkdir -p /var/lib/mysql
mkdir -p /var/log/mysql
mkdir -p /etc/mysql

# 创建一个临时实例
docker run --name mariadb -h mariadb --env MARIADB_ROOT_PASSWORD=root@123 -d mariadb
# 拷贝配置文件
docker cp mariadb:/etc/mysql/mariadb.conf.d /etc/mysql/mariadb.conf.d
# 删除临时实例
docker rm mariadb

# 创建Mariadb实例
docker run --restart=always -p 3306:3306 --name mariadb -h mariadb \
-v /var/lib/mysql:/var/lib/mysql \
-v /var/log/mysql:/var/log/mysql \
-v /etc/mysql/mariadb.conf.d:/etc/mysql/mariadb.conf.d \
--env MARIADB_ROOT_PASSWORD=root@123 \
-d mariadb

# 查看默认时区
SHOW GLOBAL VARIABLES LIKE '%time_zone%';
select now()  # 查看时间

# 修改默认时区,编辑50-server.cnf文件,在mysqld 配置中添加如下代码
default_time_zone = 'Asia/Shanghai'

# 查看表名称大小写配置,默认是0,区分大小写
SHOW GLOBAL VARIABLES LIKE '%lower_case_table_name%';

# 修改默认时区,编辑50-server.cnf文件,在mysqld 配置中添加如下代码
lower_case_table_name = 1

Mongo 安装

# 查询rabbitmq镜像
docker search mongo
# 拉取进行
docker pull mongo
# 创建实例
docker run -d --name mongodb -h mongo -p 27017:27017 --restart=always \
-v /var/lib/mongodb/data:/data/db \
-v /var/lib/mongodb/log:/data/log \
-e MONGO_INITDB_DATABASE=admin \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin@123 \
mongo --auth

# 进入容器
docker exec -it mongodb /bin/sh
# 进入mongo shell
mongo

# 创建超级用户
use admin
db.createUser({user:'admin',pwd:'admin@123',roles:[{role:'root', db:'admin'}]})

# 创建读写权限的用户
use yapi
db.createUser({user: "yapi", pwd: "yapi@123", roles: [{role:"readWrite",db:"yapi"}]})

PostgreSQL 安装

docker pull postgres

docker run -d -h postgres -p 5432:5432 --name postgresDB --restart=always \
-e POSTGRES_PASSWORD=root@123 \
-e POSTGRES_USER=root \
-e POSTGRES_DB=gdb \
-v /var/lib/postgres/postgres.conf:/etc/postgresql/postgresql.conf \
-v /var/lib/postgres/data:/var/lib/postgresql/data \
postgres \
-c "config_file=/etc/postgresql/postgresql.conf"

RabbitMQ 安装

# 查询rabbitmq镜像
docker pull rabbitmq
# 运行rabbitmq
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 -h rmq --restart=always rabbitmq
#  进入命令行
docker exec -it rabbitmq bash
# 添加插件
>rabbitmq-plugins enable rabbitmq_management

# 访问 http://127.0.0.1:15672/ 默认用户名密码: guest, 可通过一下参数配置登录用户信息
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 -h rmq \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
--restart=always rabbitmq