MySQL常用命令实操指南:从建库到权限管理

拾柒
拾柒
发布时间:2026-10-14| 3人浏览过
原创

本文详细梳理MySQL基础操作命令,包括数据库与数据表的创建删除、数据插入更新、SQL文件导入等高频任务,并针对默认账户安全隐患提供密码重置方案,同时解析各类权限指令的用法。

结果或目标

熟练掌握MySQL命令行工具的核心指令,能够独立执行数据库结构的搭建、数据的维护以及用户权限的安全分配,解决日常开发与运维中的常见管理需求。

准备条件

  • 环境:已安装的MySQL服务器(Windows服务版或Linux守护进程版)。
  • 连接:具备管理员权限(root)或通过命令行客户端访问服务器的能力。
  • 安全前置:对于新安装或默认配置的MySQL,建议优先执行“隐藏匿名账户”和“设置root密码”操作,消除潜在的安全隐患。

真实操作顺序

第1步:启动MySQL服务

目的:确保数据库后台进程运行,接受客户端连接。

  • Windows:若未自动启动,可在终端执行 net start mysql。
  • Linux:需使用管理员权限执行 /etc/rc.d/init.d/mysqld start 或使用 systemd 相关命令。

第2步:登录MySQL客户端

入口:系统终端或命令行窗口。

动作:使用以下格式登录,your_password为对应账户密码:

# 交互模式输入密码
mysql -uroot -p

# 直接指定密码登录(生产环境不建议明文暴露)
mysql -uroot -pyour_password

完成状态:命令行提示符变为 mysql>。

第3步:数据库与表的基础管理

入口:MySQL命令行客户端。

参数与动作:

  1. 查看现有资源:
    • 列出所有数据库:SHOW DATABASES;
    • 切换至指定库:USE MYSQLDATA;
    • 查看当前库中所有表:SHOW TABLES;
  2. 新建数据库与表:
    • 创建库:CREATE DATABASE MYSQLDATA;
    • 创建表(示例):CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
    • 查看表结构:DESCRIBE MYTABLE;
  3. 删除与清空:
    • 彻底删除表:DROP TABLE MYTABLE;
    • 清空表中所有数据但保留结构:DELETE FROM MYTABLE;

第4步:数据内容维护(DML)

目的:向表中写入、读取或修正数据。

动作:

  • 插入记录:INSERT INTO MYTABLE VALUES ('hyq', 'M');
  • 更新数据:注意务必添加 WHERE 子句防止误全表更新。
    UPDATE MYTABLE SET sex='F' WHERE name='hyq';

第5步:数据导入与批量加载

目的:将外部文本或脚本文件导入数据库。

  • 导入SQL脚本:
    1. 先选中数据库:USE database_name;
    2. 执行源文件:SOURCE d:/mysql.sql; (路径需符合操作系统规范)
  • 本地数据文件导入:
    将文本文件装入特定表:LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

第6步:安全加固与权限分配

目的:清理默认高风险账户并赋予用户精确的操作权限。

操作:登录 mysql 数据库进行底层用户表修改:

  1. 清理匿名用户:
    DELETE FROM User WHERE User="";
  2. 设置Root密码:
    UPDATE User SET Password=PASSWORD('newpassword') WHERE User='root';
  3. 刷新权限:(若通过直接修改user表变更,通常需重启服务或执行 FLUSH PRIVILEGES;)

权限管理详解

使用 GRANT 命令为用户分配权限,语法格式为:GRANT 权限 ON 数据库对象 TO 用户名@主机 IDENTIFIED BY "密码";

1. 权限级别说明

  • 全局管理权限:
    - FILE: 在服务器上读写文件。
    - PROCESS: 查看其他用户线程。
    - RELOAD: 重载配置与日志。
    - SHUTDOWN: 关闭服务。
  • 数据库/表/列级权限:
    - ALTER: 修改表结构。
    - CREATE: 新建表或库。
    - DELETE / DROP / INDEX / INSERT / SELECT / UPDATE: 对应的增删改查及索引操作权限。
  • 特殊权限:
    - ALL: 等同于ROOT的所有权限。
    - USAGE: 仅允许登录,无其他实际操作权。

2. 授权示例

赋予对指定库所有表的完整权限:
GRANT ALL ON mydb.* TO NewUserName@HostName IDENTIFIED BY "password";

赋予对指定单张表的部分读写权限:
GRANT SELECT, INSERT, UPDATE ON mydb.TestTable TO NewUserName@HostName IDENTIFIED BY "password";

原文有依据的排错

  • 中文引号问题:在编写SQL语句时,必须使用英文半角双引号

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。