一、事前准备
1、创建目录
mkdir - p / data / mysql/conf
mkdir - p / data / mysql/data
mkdir - p / data / mysql/logs
2、编辑my.cnf
vi / data / mysql/conf/my. cnf
[client]
port = 3306
default-character-set = utf8mb4
[mysql]
port = 3306
default-character-set = utf8mb4
[mysqld]
sql_mode=STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
max_connections=10000
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
character-set-client - handshake=FALSE
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
gtid-mode=ON
enforce-gtid-consistency = ON
二、安装MySQL
docker run -- restart=always -- name mysql3309. 8. 0. 18 - v / data / mysql3309/conf:/ etc/mysql - v / data / mysql3309/data :/ var / lib/mysql - v / data / mysql3309/log:/ var / log - v / data / mysql3309/mysql-files:/ var / lib/mysql-files - p 3309:3306 - e MYSQL_ROOT_PASSWORD='123456' - d mysql:8. 0. 18 -- lower_case_table_names=1
三、更改时间
docker exec - it mysql3309. 8. 0. 18 bash
cp / usr/share/zoneinfo/Asia/Shanghai / etc/localtime
exit
docker restart mysql3309. 8. 0. 18
四、修改账户规则(可选)
docker exec - it mysql3309. 8. 0. 18 bash
mysql - uroot - p123456
ALTER USER 'root' @'%' IDENTIFIED WITH mysql_native_password BY '123456' ;
ALTER USER 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY '123456' ;
FLUSH PRIVILEGES;
SELECT user, host, authentication_string FROM mysql. user WHERE user='root' ;
exit
exit