环境: centos7
1. 拉取镜像
docker pull mysql:8.0.15
2. 构建镜像
新增挂载文件夹
mkdir -p /mydata/mysql/log
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
mkdir -p /mydata/mysql/mysql-files
新增mysql配置文件
cd /mydata/mysql/conf
vim my.cnf
将如下配置复制到my.cnf文件并保存
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
#忽略客户端信息并使用默认服务器字符集
skip-character-set-client-handshake
#禁止DNS解析
skip-name-resolve
#限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录
secure_file_priv=/var/lib/mysql
构建
docker run -p 3308:3306 \
--name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.15
注意mysql8.0如果使用docker挂载数据到宿主机,需要新增mysql-files文件的挂载否则无法启动
-v /mydata/mysql/mysql-files:/var/lib/mysql-files \
3.配置远程访问
进入docker-mysql容器
docker exec -it mysql /bin/bash
连接mysql服务端
mysql -u root -p
密码为root
先修改下mysql root用户密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'qweasdaqerqwe';
刷新权限
flush privileges;
开启远程访问并修改默认密码和加密方式
alter user 'root'@'%' identified with mysql_native_password by 'root';
版权声明:本文为qq_41316955原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。