使用docker安装mysql 8.0

打开命令行,运行

复制代码
ocker pull mysql:8.0.21

下载成功后,可以看到

进入cmd,输入

复制代码
docker run -d --name mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/config:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=abc123456 mysql:8.0.21 --lower_case_table_names=1

-d: 这个标志表示以守护进程(detached)模式运行容器,即容器将在后台运行。

--name mysql: 给容器指定一个名称为 "mysql",方便后续管理和引用该容器。

-p 3306:3306: 端口映射,将宿主机的 3306 端口映射到容器内部的 3306 端口。这样外部应用可以通过宿主机的 3306 端口访问到 MySQL 服务。

-v /root/mysql/data:/var/lib/mysql : 数据卷挂载,将宿主机目录 /root/mysql/data 映射到容器内的 /var/lib/mysql 目录,用于持久化存储 MySQL 的数据文件。

-v /root/mysql/config:/etc/mysql/conf.d : 另一个数据卷挂载,将宿主机上的 /root/mysql/config 目录挂载到容器内的 /etc/mysql/conf.d 目录,以便于自定义 MySQL 配置文件。

-e MYSQL_ROOT_PASSWORD=abc123456: 设置环境变量,用以初始化 MySQL 的 root 用户密码为 "abc123456"。

mysql:8.0.21: 指定要运行的 Docker 镜像名称和版本,这里是 MySQL 8.0.21 版本。

--lower_case_table_names=1: 这是一个启动时传递给 MySQL 服务器的选项,设置它为 1 表示 MySQL 将把所有数据库表名转换为小写,这有助于跨不同操作系统的兼容性。

也可以用可视化工具启动

启动后,可以通过cmd查看

也可以通过可视化工具

接下来,需要进入容器,修改一些配置

复制代码
docker exec -it mysql /bin/bash

mysql -uroot -p

abc123456(手动输入密码)

修改支持mysql远程链接

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY "abc123456";

刷新数据库

复制代码
flush privileges;

至此,安装完成

使用Navicat成功连接

相关推荐
暖和_白开水3 小时前
数据分析agent(十三_3):docker mysql容器镜像服务的异常错误
mysql·docker·容器
爱小黄4 小时前
使用docker搭建集群-使用 Docker 搭建 KingbaseES 集群
运维·docker·容器
ttwuai5 小时前
AI 生成后台改数据后,操作日志别只记按钮:Go + MySQL 怎么验
数据库·人工智能·mysql·golang
余—笙6 小时前
Docker安装rabbitmq并安装延迟队列插件
docker·容器·rabbitmq
韩楚风7 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
Mico187 小时前
MySQL 8.0.35 mydumper/myloader 备份恢复工具使用
mysql
心念枕惊7 小时前
Docker--Docker Swarm集群
运维·docker·容器
敖行客 Allthinker8 小时前
docker容器安装Python反推镜像步骤(适用于临时调试用)
python·docker·容器
摇曳的精灵10 小时前
dify的docker部署
运维·docker·容器·dify
这个DBA有点耶11 小时前
热点行更新:秒杀场景下一条UPDATE语句的锁等待与性能优化
数据库·sql·mysql·性能优化·database·dba