新建挂载文件夹

mkdir -p /docker/mysql/log
mkdir -p /docker/mysql/data
mkdir -p /docker/mysql/conf

创建配置文件

touch /docker/mysql/conf/my.cnf
vi /docker/mysql/conf/my.cnf

编辑配置文件

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
init_connect="SET collation_connection = utf8mb4_unicode_ci"
init_connect="SET NAMES utf8mb4"
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

启动服务

docker run -p 3306:3306 --name mysql \
-v /docker/mysql/log:/var/log/mysql \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf/my.cnf:/etc/my.cnf \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

禁用 root 账户被被远程连接

进入容器

docker exec -it mysql bash

登录 MySQL

mysql -u root -p

切换到 MySQL 数据库

use mysql;

查看账号权限

select user,host from user;

删除

delete user from mysql.user where user='root' and host='%';