docker部署程序集合

第一章:linux部署docker

第二章:docker 部署 mysql8.0.30

第三章:docker 部署 redis

第四章:docker 部署 nacos2.1.1

第五章:docker 更新升级nginx



前言

docker 部署 mysql8.0.30,前提docker已部署,若未部署见第一章


一、拉取镜像

docker pull mysql:8.0.30

二、创建挂载路径


//根目录选择自身实际最大磁盘路径 一般为/home 或者定义/data 
mkdir -p /data/mysql/data
mkdir -p /data/mysql/logs
mkdir -p /data/mysql/conf

三、创建配置文件my.cnf


//根目录选择自身实际最大磁盘路径 一般为/home 或者定义/data 
vi /data/mysql/conf/my.cnf

//insert 插入以下内容

[mysqld]

#服务端口号 默认3306
port=3306
user=mysql
#mysql数据文件所在位置
datadir=/var/lib/mysql

#pid
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
default-time-zone = '+8:00'

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
# 允许访问的IP网段
bind-address=0.0.0.0

#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve=1

#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation=READ-COMMITTED


#最大连接数
max_connections=400

#最大错误连接数
max_connect_errors=1000

#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp=true

#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet=1G

 四、启动docker 容器

# -p 端口映射 33060:3306 指外部访问端口改成33060规避一些默认端口被禁情况

docker run --privileged=true -p 33060:3306 -m 1g --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=22hjz9Uh(A-S -d mysql:8.0.30

 五、检查容器是否正常运行 

#检查镜像是否正常运行
docker ps

#进入容器
docker exec -it mysql bash

#用默认密码登陆账号
mysql -uroot -p

 六、创建对应数据库及账号密码

#创建账号并授权
CREATE USER 'test'@'%' IDENTIFIED BY 'test';
CREATE DATABASE test_database CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL PRIVILEGES ON test_database .* TO 'test'@'%';
FLUSH PRIVILEGES;

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐