第一步需要安装Docker基础环境,具体可以看看这篇
docker基础篇
第二步,拉取mysql8.0的镜像
docker pull mysql:8.0
第三步,镜像启动和文件挂载
复制下面命令执行,33006是对外访问暴露的端口,当然你也可以设置为3306,主要还是看个人,记得在服务器安全组开放端口。-v /usr/local/mysql是把容器内部挂载在宿主机上,自己也可以更改一下挂载的目录。
docker run -p 33006:3306 --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
第四步,配置文件
cd /usr/local/mysql/conf
# 配置文件,vim之后复制这个下面的内容(i -> esc -> :wq )
vim my.cnf
# 将下面的内容写入 vim my.cnf这个文件
[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_0900_ai_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
skip-character-set-client-handshake
skip-name-resolve
第五步,重启配置文件生效
# 重启mysql容器
docker restart mysql
# 设置docker启动时启动mysql
docker update mysql --restart=always# 重启mysql容器
docker restart mysql
# 进入mysql容器内部
docker exec -it mysql /bin/bash
# 退出mysql容器
exit
到此,以docker方式安装mysql8.0的整个操作就算是完成了 ,希望能帮助到你;文章不在于长,而在于简短而有用。