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 应该消失。

相关推荐
z06.7 小时前
MySQL索引
数据库·mysql
工业一体机老司机8 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
CCIE-Yasuo10 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶12 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
miaobinfei14 小时前
docker拉取dify镜像,执行docker compose up -d 报错
运维·docker·容器
kobe_OKOK_15 小时前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
xixingzhe216 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手16 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛16 小时前
MySQL表的连接
数据库·mysql
bksczm17 小时前
MySQL之存储引擎
数据库·mysql