Docker-compose启动mysql

前提:安装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

  1. 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 <

[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发布测试所有,经过测试运行稳定,特进行分享,保留研发力

你可能感兴趣的:(mysql,docker,java)