在 Docker 中安装 MySQL 教程

拉取 MySQL 镜像

复制代码
docker pull mysql:8.0

创建并启动 MySQL 容器

复制代码
docker run -d \
  --name mysql8 \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v mysql_data:/var/lib/mysql \
  mysql:8.0

命令说明:

-d:后台运行容器

--name mysql8:给容器起个名字叫 mysql8

-p 3306:3306:将容器的 3306 端口映射到服务器的 3306 端口

-e MYSQL_ROOT_PASSWORD=your_password:设置 root 用户的密码,我设置成123456

-v mysql_data:/var/lib/mysql:将数据目录挂载到卷,确保数据持久化

输出的一串字符是Docker 容器的唯一 ID

检查容器是否运行

复制代码
docker ps

能够看到MySQL

登录 MySQL

复制代码
mysql -u root -p123456

-p后面写的是自己设置的密码

出现未找到命令是因为我在宿主机上直接执行了 mysql 命令,但宿主机本身并没有安装 MySQL 客户端工具,我的 MySQL 是安装在 Docker 容器中的

先进入容器再使用 mysql 命令

使用 docker exec 命令进入容器的 Bash Shell

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

这里的 mysql8 是之前创建容器时用 --name 指定的名称

可以看到出现了容器ID

现在再执行登录命令

复制代码
mysql -u root -p123456

登录成功

也可以直接连接 MySQL

可以直接在宿主机执行以下命令,这样就无需进入容器 Shell

复制代码
docker exec -it mysql8 mysql -u root -p123456

执行基本 SQL 语句

查看所有数据库

复制代码
show databases;

创建一个新数据库

复制代码
create database mytestdb;

使用这个数据库

复制代码
use mytestdb;

创建一个表

复制代码
create table students (
    id int auto_increment primary key,
    name varchar(50) not null,
    age int,
    major varchar(100)
);

在 MySQL 命令行界面中输入 SQL 语句时,换行不需要特殊的换行符,直接按Enter 键即可自动换行。

MySQL 会识别语句是否完整(以分号;结尾),当语句未完成时,按 Enter 键会进入续行模式,命令行会显示->提示符,表示可以继续输入下一行内容。

插入数据

复制代码
insert into students (name, age, major) values 
('张三', 20, '计算机科学'),
('李四', 21, '电子工程'),
('王五', 19, '数学');

查询数据

复制代码
select * from students;

更新数据

复制代码
update students set age = 22 where name = '李四';

删除数据

复制代码
delete from students where id = 3;

退出操作

退出 MySQL 命令行:

复制代码
exit; 或 quit;

退出容器:

复制代码
exit

常用的容器管理命令

复制代码
停止 MySQL 容器:
docker stop mysql8

启动 MySQL 容器:
docker start mysql8

重启 MySQL 容器:
docker restart mysql8

查看容器日志:
docker logs mysql8
相关推荐
木雷坞4 小时前
视觉算法环境 Docker 镜像拉取失败排查
运维·人工智能·docker·容器
瀚高PG实验室5 小时前
安全版V4.5版本docker容器license过期问题处理步骤
安全·docker·容器·瀚高数据库
java_logo5 小时前
SiYuan 思源笔记 Docker 部署终极指南:Windows+Linux 双平台
windows·笔记·docker·思源笔记·思源笔记部署·docker部署思源笔记·思源笔记文档
Hello.Reader5 小时前
Ubuntu 上正确安装 Kali 虚拟机、Docker 与 kail 工具指南
linux·ubuntu·docker
筱_智6 小时前
Docker学习-超详细-通俗易懂(从入门到精通)
学习·docker·容器
EAIReport7 小时前
Docker与K8s核心解析:共同性、差异性及实战适配指南
docker·容器·kubernetes
江湖有缘7 小时前
容器化部署|Docker搭建Blinko轻量笔记系统
笔记·docker·容器
炸裂狸花猫9 小时前
开源身份认证与访问管理平台 - Keycloak(二)
docker·云原生·容器·kubernetes·开源·keycloak·sso
炸裂狸花猫9 小时前
开源身份认证与访问管理平台 - Keycloak(一)
docker·云原生·kubernetes·开源·devops
rustfs9 小时前
MinIO 国产平替,RustFS 发布 Beta 版本啦
分布式·docker·云原生·rust·开源