1、拉取镜像
docker pull mysql:8.0.16
2、创建响应挂载文件
1.创建data目录 mkdir -p /data/mysql/data
2.创建my.cnf文件 vim /data/mysql/conf/my.cnf
3.创建mysql-files目录 mkdir -p /data/mysql/mysql-files
my.cnf文件内容
[client]
port = 3308
default-character-set = utf8mb4
[mysql]
port = 3308
default-character-set = utf8mb4
[mysqld]
# bind-address = 0.0.0.0
# port = 3306
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=10000
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
# 设置时区和字符集
# default-time-zone='+8:00'
character-set-client-handshake=FALSE
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
gtid-mode=ON
enforce-gtid-consistency = ON
3、启动镜像
docker run -d --name mysql8.0 \
--privileged=true \
--restart unless-stopped \
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
-p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.16
###MYSQL_ROOT_PASSWORD=输入你到密码
4、开启远程访问账户
(1)进入容器:docker exec -it mysql8.0 bash
(2) 授权
— 登陆mysql (密码输入启动容器时指定的密码)
mysql -u root -p
— 进入mysql表
use mysql;
— 授权root用户
GRANT ALL ON *.* TO ‘root‘@‘%‘;
ALTER USER ‘root‘@‘%‘ IDENTIFIED WITH mysql_native_password BY ‘你的密码‘;
— 刷新权限
flush privileges;
附:自研AI助手(vue3+vite)欢迎体验 AI助手