文件夹 结构
data
conf => my.cnf
docker-compose.yml
====== docker-compose.yml======
version: '3'
services:
db:
environment:
MYSQL_ROOT_PASSWORD: "123123"
MYSQL_USER: "apollo"
MYSQL_PASSWORD: "123123"
MYSQL_DATABASE: "test"
image: "docker.io/mysql:latest"
restart: always
container_name: "mysql8.0"
volumes:
- "/root/docker-compos/mysql/data:/var/lib/mysql"
- "/root/docker-compos/mysql/conf/my.cnf:/etc/my.cnf"
ports:
- "3306:3306"
======= my.cnf====
[mysqld]
user=mysql
bind-address = 0.0.0.0 # 表示允许任何主机登陆MySQL
port=3306 # 表示MySQL运行端口为3306
default-storage-engine=INNODB
#character-set-server=utf8
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
[client]
#utf8mb4字符集可以存储emoji表情字符
#default-character-set=utf8
default-character-set=utf8mb4
[mysql]
#default-character-set=utf8
default-character-set=utf8mb4
===========.启动容器 docker-compose up -d
=========进入容器=============
$ docker exec -it 41f3bbaa0a04 bash
root@41f3bbaa0a04:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.17 MySQL Community Server - GPL
Copyright (c) 2000, 2019, 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 |
| test |
+--------------------+
5 rows in set (0.04 sec)
mysql>