拉取镜像
bash
docker pull mysql:8.0
查看镜像
bash
docker images
运行实例
bash
docker run -p 3306:3306 --name mysql --restart=always --privileged=true \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0
配置文件
bash
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 设置东八区时区
default-time_zone = '+8:00'
# 设置密码验证规则,default_authentication_plugin参数已被废弃
# 改为authentication_policy
#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password
#secure_file_priv=/var/lib/mysql
secure_file_priv=
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve
重启MySQL
bash
docker restart mysql
查看实例
bash
docker ps
进入MySQL
bash
docker exec -it mysql /bin/bash
访问MySQL
bash
mysql -u root -p root
修改root权限
bash
# 更新root用户密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '8888';
# 登陆后进行授权远程连接
GRANT ALL ON *.* TO 'root'@'%';
# 刷新权限
FLUSH PRIVILEGES;