前提:安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
- docker-compose.yml
version: '3'
services:
mysql:
image: mysql:5.7.22
container_name: mysql-5.7.22
#使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限
#设置为true,不然数据卷可能挂载不了,启动不起
privileged: true
restart: always
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: root
MYSQL_PASS: root
TZ: Asia/Shanghai
command:
--wait_timeout=31536000
--interactive_timeout=31536000
--max_connections=1000
--default-authentication-plugin=mysql_native_password
volumes:
#映射mysql的数据目录到宿主机,保存数据
- "/data/mysql/data:/var/lib/mysql"
#根据宿主机下的配置文件创建容器
- "/data/mysql/config/my.cnf:/etc/mysql/my.cnf"
2.在安装目录下创建config目录
mkdir -p /data/mysql/config/
注:Found option without preceding group in config file /etc/mysql/my.cnf at line 2!错误,是my.cnf文件编码格式的调整问题,因此最好内部生成
cat >> /data/mysql/config/my.cnf <<EOF
[client]
# 客户端来源数据的默认字符集
default-character-set=utf8mb4
[mysqld]
# 服务端默认字符集
character-set-server=utf8mb4
# 连接层默认字符集
collation-server=utf8mb4_unicode_ci
[mysql]
# 数据库默认字符集
default-character-set=utf8mb4
EOF
3.启动mysql
#docker-compose up -d
#查看是否启动成功
docker-compose ps
登录mysql(先安装好客户端)
yum -y install mysql
mysql -u root -p'root'
5.补充:mysql知识
mysql其他命令参考
# 改密码 进入数据库
set password for 'root'@'localhost'=password('123@123');
# 刷新权限
flush privileges;
# 支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by '123@123' with grant option;
6.结算语
此为进行jenkinsCI/CD发布测试所有,经过测试运行稳定,特进行分享,保留研发力