配置阿里云镜像(已经配置可跳过)
因为MySQL镜像文件太大,从国外拉的话,可能会下载超时
宿主机配置文件和对应的文件目录 (自定义自己目录)
# Data目录 存放MySQL数据的地方
mkdir /mysql/data
# MySQL运行日志
mkdir /mysql/log
# MySQL配置文件 下面详细对cnf文件创建描述
mkdir /mysql/config/my.cnf
创建MySQL配置文件 my.cnf
[client]
#socket = /usr/mysql/mysqld.sock
default-character-set = 自定义字符集
[mysqld]
#pid-file = /var/run/mysqld/mysqld.pid
#socket = /var/run/mysqld/mysqld.sock
#datadir = /var/lib/mysql
#socket = /usr/mysql/mysqld.sock
#pid-file = /usr/mysql/mysqld.pid
datadir = 自定data的目录
character_set_server = 自定义字符集
collation_server = 自定义排序方式
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Custom config should go here
!includedir /etc/mysql/conf.d/
启动容器
docker run \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /mysql/data:/var/lib/mysql:rw \
-v /mysql/log:/var/log/mysql:rw \
-v /mysql/config/my.cnf:/etc/mysql/my.cnf:rw \
-v /etc/localtime:/etc/localtime:ro \
--name my-sql \
--restart=always \
-d mysql
进入容器设置远程连接(MySQL8.0X 不设置的话,Navicat可能连接不上)
docker exec -it mysql /bin/bash
mysql -uroot -p
mysql> use mysql;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
flush privileges;
大功告成