在MySQL的使用过程中,创建数据库是开展数据存储工作的第一步,完整的流程包含前期规划、实际创建、验证确认三个核心阶段,每个阶段都有需要重点关注的内容,才能保障数据库后续的稳定使用。

一、数据库创建前的规划工作
直接执行创建语句很容易忽略适配性,提前规划能减少后续调整成本,规划阶段需要明确三个核心内容:
1. 需求梳理
首先要明确数据库的用途,比如是给电商项目存储商品和用户数据,还是给日志系统存储访问记录,不同的用途决定了后续的表结构设计和性能配置方向。同时要预估数据量级,比如初期数据量在10万条以内,还是未来会增长到千万级以上,这会影响存储引擎和分库分表的规划。
2. 字符集选择
字符集决定了数据库能存储的字符类型和是否会出现乱码问题,常用的字符集有utf8和utf8mb4,其中utf8mb4支持emoji和更多生僻字符,是目前的主流选择,对应的排序规则推荐选择utf8mb4_general_ci,不区分大小写,适合大部分业务场景。
3. 存储引擎选择
MySQL默认的存储引擎是InnoDB,支持事务、行级锁和外键,适合大部分需要数据一致性的业务场景;如果是纯日志存储、不需要事务的场景,也可以选择MyISAM,但当前版本更推荐优先使用InnoDB。
二、通过命令行创建数据库
命令行是MySQL原生的操作方式,适合所有环境的操作,步骤如下:
1. 登录MySQL服务
首先打开终端,输入以下命令登录MySQL,需要替换成自己的用户名和密码:
# 登录MySQL,输入后按提示输入密码 mysql -u root -p
2. 执行创建数据库语句
登录成功后,执行以下SQL语句创建数据库,其中mydb是自定义的数据库名称,需要根据实际需求修改:
-- 创建数据库,指定字符集为utf8mb4,排序规则为utf8mb4_general_ci,存储引擎为InnoDB CREATE DATABASE IF NOT EXISTS mydb DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ENGINE = InnoDB;
语句中的IF NOT EXISTS表示如果数据库已经存在则不执行创建操作,避免出现报错,适合脚本化执行场景。
3. 验证数据库是否创建成功
执行以下命令查看所有数据库,确认新创建的数据库已经在列表中:
-- 查看所有数据库 SHOW DATABASES;
如果需要查看单个数据库的详细配置,可以执行以下语句:
-- 查看mydb数据库的创建信息 SHOW CREATE DATABASE mydb;
三、通过可视化工具创建数据库
如果使用的是Navicat、DBeaver等可视化工具,操作会更直观,步骤如下:
1. 连接MySQL服务
打开可视化工具,新建MySQL连接,输入主机地址、端口、用户名、密码,测试连接成功后保存连接。
2. 新建数据库
在连接列表中右键点击连接名称,选择新建数据库选项,在弹出的配置窗口中填写数据库名称,选择字符集为utf8mb4,排序规则为utf8mb4_general_ci,存储引擎选择InnoDB,点击确定即可完成创建。
3. 确认创建结果
点击连接下的数据库列表,刷新后可以看到新创建的数据库,点击数据库可以查看其配置信息,确认和规划的内容一致。
四、常见问题及处理方式
- 创建时报错
Access denied:说明当前登录的用户没有创建数据库的权限,需要联系管理员授予权限,或者更换有更高权限的账号登录。 - 创建后插入中文出现乱码:说明字符集配置没有生效,需要检查创建语句中的字符集参数是否正确,或者修改数据库的字符集配置。
- 数据库创建后无法删除:可能是当前有其他连接正在使用该数据库,需要先关闭所有连接,再执行删除操作。
如果需要删除已创建的数据库,可以执行以下语句,注意删除操作会清空所有数据,执行前需要确认数据已经备份:
-- 删除数据库,IF EXISTS表示如果数据库不存在则不报错 DROP DATABASE IF EXISTS mydb;