第一步:拉取镜像
自动拉取最新版本的Mysql
docker pull mysql
使用命令看一眼
docker images
第二步:创建本地持久化文件
在你的随便一个路径下,我这里时 /home路径下,创建
log
,data
,conf
目录
mkdir -p /home/mysql/{log,data,conf}
第三步:编写自己的my.cnf
文件
cd /home/mysql/cnf
vim my.cnf
将以下内容进行粘贴
:wq
退出即可
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
skip-character-set-client-handshake
# 性能与安全
skip-name-resolve
secure_file_priv=/var/lib/mysql
第四步:构建容器
docker run --name order \
-p 3000:3306 \
-d --restart unless-stopped \
-v /home/mysql/log:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=111111 mysql
构建完成后使用以下命令查看是否生效
docker ps
或者使用docker-compose -> docker-compose up -d 即可
version: '3.8'
services:
mysql:
image: mysql:latest
container_name: sspro_mysql
ports:
- "3002:3306"
environment:
MYSQL_ROOT_PASSWORD: 111111
TZ: Asia/Shanghai
volumes:
- /home/sspro/mysql/data:/var/lib/mysql
- /home/sspro/mysql/conf:/etc/mysql/conf.d
- /home/sspro/mysql/log:/var/log/mysql
restart: always
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
最后:打开云服务器的安全组,添加3000端口的放行规则,不然远程连接不上