news 2026/5/27 4:36:41

Linux下使用docker安装mysql8.0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下使用docker安装mysql8.0

目录

1、拉去镜像

2、启动镜像

3、创建挂载目录

4、拷贝配置文件

5、删除原容器

6、新增my.cnf

7、创建启动脚本

8、执行脚本

9、进入docker 的bash 进行设置


1、拉去镜像

docker pull mysql:8.0.20

2、启动镜像

docker run -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20

3、创建挂载目录

mkdir -p /home/docker/mysql8.0/

4、拷贝配置文件

docker cp mysql8:/etc/mysql /home/docker/mysql8.0/

mysq8为docker容器的名字,此操作是将容器中的mysql文件拷贝到宿主机的mysql8.0目录下。

5、删除原容器

docker stop mysql8 docker rm -f mysql8

主要的目的是要拷贝出mysql文件,拷贝出来后再删除容器,下一步需要对容器进行进一步的配置。

6、新增my.cnf

cd /home/docker/mysql8.0/mysql/conf.d vim my.cnf

[mysqld]

user=mysql

character-set-server=utf8

default_authentication_plugin=mysql_native_password

secure_file_priv=/var/lib/mysql

expire_logs_days=7

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

max_connections=1000

[client]

default-character-set=utf8

[mysql]

7、创建启动脚本

docker run -p 3306:3306 --name mysql8 --privileged=true --restart unless-stopped -v /home/docker/mysql8.0/mysql:/etc/mysql -v /home/docker/mysql8.0/logs:/logs -v /home/docker/mysql8.0/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20

脚本说明:

-p 端口映射

–name mysql8 名称是mysql8

–privileged=true 挂载文件权限设置

–restart unless-stopped 设置 开机后自动重启容器

-v /home/docker/mysql8.0.20/mysql:/etc/mysql \ 挂载配置文件【路径是上面创建的挂载路径】

-v /home/docker/mysql8.0.20/logs:/logs \ 挂载日志【路径是上面创建的挂载路径】

-v /home/docker/mysql8.0.20/data:/var/lib/mysql \ 挂载数据文件 持久化到主机【路径是上面创建的挂载路径】

-v /etc/localtime:/etc/localtime 容器时间与宿主机同步

-e MYSQL_ROOT_PASSWORD=123456 设置密码

-d mysql:8.0.20 后台启动,mysql

8、执行脚本

chmod 777 docker_mysql8_start.sh ./docker_mysql8_start.sh

9、进入docker 的bash 进行设置

docker exec -it mysql8 bash
mysql -u root -p use mysql update user set host='%' where user='root'; (可能会报错,有的已经存在此用户) grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION; ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; FLUSH PRIVILEGES;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 2:31:44

微信小程序 springboot+uniapp厨师预约系统 上门做饭私厨服务系统_69m7zdan

文章目录 具体实现截图主要技术与实现手段关于我本系统开发思路java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 同行可拿货,招校园代理 微信小微信小程序 springbootUniapp厨师预约系统 上门做…

作者头像 李华
网站建设 2026/5/26 12:28:10

I2C从入门到精通之五:I2C通信协议Protocol-写操作

0,引言 在上一篇文章我们讲解了《I2C从入门到精通之四:I2C从设备的地址adress》,今天我们继续接着介绍I2C通信协议Protocol中的写操作write operation。 所有I2C主题的文章都会收录在《深入浅出聊I2C》https://mp.weixin.qq.com/mp/appmsga…

作者头像 李华
网站建设 2026/5/25 11:49:45

FaceFusion开源贡献者招募:共建AI视觉生态

FaceFusion开源贡献者招募:共建AI视觉生态 在数字内容创作日益繁荣的今天,从短视频平台上的虚拟主播到电影工业中的“数字替身”,人脸替换技术正以前所未有的速度渗透进我们的视听体验。然而,尽管DeepFakes等早期项目点燃了公众对…

作者头像 李华
网站建设 2026/5/26 9:52:56

Open-AutoGLM上手难度真相:3类开发者面临的差异化挑战

第一章:Open-AutoGLM 开发者使用门槛差异分析在开源大语言模型快速演进的背景下,Open-AutoGLM 作为面向自动化任务生成的框架,其开发者体验呈现出显著的使用门槛分化。不同背景的开发者在接入、调试和扩展功能时面临差异化的挑战,…

作者头像 李华
网站建设 2026/5/25 16:58:30

揭秘Open-AutoGLM扩展能力:3种高阶二次开发模式,90%开发者竟只用过1种?

第一章:Open-AutoGLM 二次开发灵活性横向测评Open-AutoGLM 作为新一代开源自动语言模型框架,其设计核心在于支持高度灵活的二次开发能力。该框架通过模块化解耦、插件化架构和标准化接口,为开发者提供了从模型微调到功能扩展的多维度定制路径…

作者头像 李华