您的位置 首页 docker

mysql 安装 (docker-compose)mysql8.0

使用docker-compose的方式部署mysql

registry.cn-hangzhou.aliyuncs.com/baimeidashu/mysql:8.0.23
registry.cn-hangzhou.aliyuncs.com/kattgatt-base/mysql:8.0.42

 

2、编写docker-compose.yaml

version: '3.1'
services:
  mysql-db:
    container_name: mysqlwiki
    image: registry.cn-hangzhou.aliyuncs.com/baimeidashu/mysql:8.0.23
    ports:
      - "3308:3306"
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: example.123A
      TZ: Asia/Shanghai
      MYSQL_CHARSET: utf8
      MYSQL_COLLATION: utf8_bin
    volumes:
      - "./mysqldata:/var/lib/mysql"
      - "./config:/etc/mysql/conf.d"
      - "./my.cnf:/etc/my.cnf"

    command:
        --default-authentication-plugin=mysql_native_password
        --character-set-server=utf8mb4
        --collation-server=utf8mb4_bin
        --explicit_defaults_for_timestamp=true
        --transaction-isolation=READ-COMMITTED

 

my.cnf

#dvice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files

character-set-server=utf8mb4 
collation-server=utf8mb4_bin
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=2GB
transaction-isolation=READ-COMMITTED
binlog_format=row
log_bin_trust_function_creators = 1

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

 

 

 

方式2:

version: '3.1'
services:
  mysql-db:
    # 指定容器的名称
    container_name: mysql     
    # 指定镜像和版本
    image: mysql:8.0                   
    ports:
      - "3306:3306"
    restart: always
    environment:
      # 配置root密码
      MYSQL_ROOT_PASSWORD: example
    volumes:
      # 挂载数据目录
      - "/apps/mysql/datadir:/var/lib/mysql" 
      # 挂载配置文件目录
      - "/apps/mysql/config:/etc/mysql/conf.d"

 

想配置 可以创建一个  vim /apps/mysql/config /my.cnf

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

character-set-server=utf8

collation-server=utf8_unicode_ci

skip-character-set-client-handshake

skip-name-resolve

 

把文件放进去,就可以,重启docker-compose 。会自动用这个配置文件的。

运行:

docker-compose up -d

 

检测:

docker ps 

 

支持navicat 连接需要:

 docker exec -it mysql /bin/bash
 
 mysql -uroot -pexample

 
alter user 'root'@'%' identified with mysql_native_password by 'example';

 

检测,我们用 workbench 测试连接,  navicat 需要修改加密插件
导入数据:

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章