Docker MySQL 使用全流程

1. 启动 MySQL 容器

bash 复制代码
docker run -d --name my-mysql \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -p 3307:3306 \
  -v /data/mysql:/var/lib/mysql \
  mysql:8.0

说明:

MYSQL_ROOT_PASSWORD:MySQL root 用户密码

-p 3307:3306:将容器 MySQL 端口映射到宿主机(-p 3307:3306 表示宿主机的 3307 → 容器内的 3306)

-v mysql_data:/var/lib/mysql:数据卷,持久化存储数据

mysql:8.0:MySQL 镜像版本

2. 进入 MySQL 客户端

bash 复制代码
docker exec -it my-mysql mysql -uroot -p

输入密码,例如:

bash 复制代码
123456

进入后会看到 mysql> 提示符。

3. 创建数据库

bash 复制代码
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

查看是否创建成功:

bash 复制代码
SHOW DATABASES;

输出示例:

4. 切换到数据库

bash 复制代码
USE mydb;

5. 创建表

bash 复制代码
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL
);

查看表:

bash 复制代码
SHOW TABLES;

查看表结构:

bash 复制代码
DESCRIBE users;
  1. 删除表
bash 复制代码
DROP TABLE users;

确认删除:

bash 复制代码
SHOW TABLES;

应该显示空集合(Empty set (0.00 sec))。

7. 删除数据库

bash 复制代码
DROP DATABASE mydb;

确认删除:

bash 复制代码
SHOW DATABASES;

mydb 应该消失。

相关推荐
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
唐青枫3 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满8783 天前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H4 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
这个DBA有点耶5 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵5 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
SamDeepThinking5 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员