参考文档:

一.新建一个启动服务的目录

mkdir /usr/local/docker/mysql
cd /usr/local/docker/mysql

二.新建文件docker-compose.yml

注意:文件名字必需是docker-compose.yml

version: '3.8'
services:
  mysql:
    container_name: mysql57
    image: mysql:5.7.31
    restart: always
    ports:
      - 3307:3306
    privileged: true
    volumes:
      - $PWD/mysql57/log:/var/log/mysql 
      - $PWD/mysql57/conf/my.cnf:/etc/mysql/my.cnf
      - $PWD/mysql57/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'haima'
      MYSQL_PASS: '123456'
    command: [
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_general_ci',
        '--max_connections=3000'
    ]
    networks:
      - myweb

networks:

  myweb:
    driver: bridge

三.新建角本文件 init-mysql.sh

#!/bin/bash
mkdir -p $PWD/mysql57/{conf,data,log}  #创建本地文件夹


#新建配置文件
tee $PWD/mysql57/conf/my.cnf<<-'EOF'
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1 #实现mysql不区分大小(开发需求,建议开启)
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
default-time_zone = '+8:00'

# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
symbolic-links=0
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

EOF

四.实使化目录和配置文件

[root@centos7 mysql]# chmod +x init-mysql.sh docker-compose.yml  #加执行权限
[root@centos7 mysql]# ./init-mysql.sh

[root@centos7 mysql]# tree ./  #查看目结构
./
├── docker-compose.yml
├── init-mysql.sh
└── mysql57
    ├── conf
    │   └── my.cnf
    ├── data
    └── log

启动服务

docker-compose up -d

此时服务已经启动成功了.使用角本是不是很爽,嘿嘿...

登陆mysql

[root@centos7 mysql57]# docker exec -it mysql57 mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql>

其它操作

docker ps -a #查看启动的服务
docker-compose up -d #后台启动服务
docker-compose -h #帮助命令
docker-compose down #停止并删除服务
docker-compose restart #重启服务
docker-compose stop #停止服务
docker-compose start #停止服务
docker-compose logs #停止日志
[Haima的博客] http://www.cnblogs.com/haima/

 

 

参考文档:

一.新建一个启动服务的目录

mkdir /usr/local/docker/mysql
cd /usr/local/docker/mysql

二.新建文件docker-compose.yml

注意:文件名字必需是docker-compose.yml

version: '3.8'
services:
  mysql:
    container_name: mysql57
    image: mysql:5.7.31
    restart: always
    ports:
      - 3307:3306
    privileged: true
    volumes:
      - $PWD/mysql57/log:/var/log/mysql 
      - $PWD/mysql57/conf/my.cnf:/etc/mysql/my.cnf
      - $PWD/mysql57/data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'haima'
      MYSQL_PASS: '123456'
    command: [
        '--character-set-server=utf8mb4',
        '--collation-server=utf8mb4_general_ci',
        '--max_connections=3000'
    ]
    networks:
      - myweb

networks:

  myweb:
    driver: bridge

三.新建角本文件 init-mysql.sh

#!/bin/bash
mkdir -p $PWD/mysql57/{conf,data,log}  #创建本地文件夹


#新建配置文件
tee $PWD/mysql57/conf/my.cnf<<-'EOF'
[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
lower_case_table_names=1 #实现mysql不区分大小(开发需求,建议开启)
# By default we only accept connections from localhost
#bind-address   = 127.0.0.1
# Disabling symbolic-links is recommended to prevent assorted security risks
default-time_zone = '+8:00'

# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
symbolic-links=0
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

EOF

四.实使化目录和配置文件

[root@centos7 mysql]# chmod +x init-mysql.sh docker-compose.yml  #加执行权限
[root@centos7 mysql]# ./init-mysql.sh

[root@centos7 mysql]# tree ./  #查看目结构
./
├── docker-compose.yml
├── init-mysql.sh
└── mysql57
    ├── conf
    │   └── my.cnf
    ├── data
    └── log

启动服务

docker-compose up -d

此时服务已经启动成功了.使用角本是不是很爽,嘿嘿...

登陆mysql

[root@centos7 mysql57]# docker exec -it mysql57 mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.31 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql>

其它操作

docker ps -a #查看启动的服务
docker-compose up -d #后台启动服务
docker-compose -h #帮助命令
docker-compose down #停止并删除服务
docker-compose restart #重启服务
docker-compose stop #停止服务
docker-compose start #停止服务
docker-compose logs #停止日志