CentOS 7 环境下 MySQL 8 常用命令指南

Finn
Finn
发布时间:2026-10-16| 3人浏览过
原创

在 CentOS 7 服务器上部署 MySQL 8 后,掌握基础的命令行操作对于日常维护至关重要。本文将系统梳理从服务连接到 SQL 指令执行的关键步骤,包括如何安全登录数据库、管理服务进程、管理数据库对象以及执行具体的数据增删改查操作。

准备条件

执行以下操作前,请确保已满足以下条件:

  • 服务器操作系统为 CentOS 7。
  • 已成功安装并初始化 MySQL 8 服务端。
  • 拥有 root 账户权限或具备相应管理权限的用户账号。
  • 若需远程连接,请确保防火墙(Firewalld)或安全组已放行 MySQL 默认端口 3306。

系统级服务管理

在 CentOS 7 中,MySQL 服务由 systemd 托管。虽然现代 MySQL 版本推荐直接通过客户端连接,但了解服务生命周期管理依然必要。

第1步:检查与启动服务

目的:确保 MySQL 服务处于运行状态。

操作:使用 systemctl 或兼容的 service 命令进行控制。

# 查看服务当前状态
systemctl status mysqld
# 或者
service mysqld status

# 启动服务
systemctl start mysqld
# 或者
service mysqld start

# 停止服务
systemctl stop mysqld

# 重启服务
systemctl restart mysqld

完成判断:状态显示为 active (running),无报错信息返回。

第2步:设置开机自启

目的:防止服务器重启后数据库未自动加载。

systemctl enable mysqld

连接与登录数据库

MySQL 客户端 mysql 支持本地回环访问和远程网络访问。注意密码参数的输入规范。

第1步:本地连接

入口:服务器终端。

动作:-u 指定用户名,-p 触发密码提示(不直接在命令行明文写出密码以确保安全)。

mysql -u root -p

重要参数:
- -u username:指定登录用户。
- -p:要求输入密码。
- -V:仅打印版本号并退出,常用于快速验证安装情况。

第2步:远程连接

目的:从其他服务器或本地机器管理远程数据库。

动作:指定主机地址 (-h) 和端口 (-P,注意大写)。

# 格式:mysql -h IP地址 -P 端口 -u 用户名 -p密码
# 示例:连接特定主机的 MySQL
mysql -h 172.22.1.143 -P 3306 -u root -p

注意事项:
- 密码紧跟 -p 之后且无空格,如 -pMyPassword。
- 若数据库中表结构极多,可添加 -A 参数跳过预读库信息,防止连接卡顿。

数据库与表的基础管理

第1步:数据库层级操作

目的:创建、切换和管理独立的数据库容器。

# 查看所有可用数据库列表
SHOW DATABASES;

# 创建新数据库(建议指定字符集 utf8mb4 以支持 emoji)
CREATE DATABASE video_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 切换到指定数据库进行后续操作
USE video_db;

# 确认当前所在的数据库名称
SELECT DATABASE();

第2步:表结构与定义查看

目的:了解现有表的结构、字段类型及建表语句。

# 在当前数据库下查看所有表名
SHOW TABLES;

# 查看表字段详细信息(类型、键、默认值等)
DESC video_info;   # 简写: DESC table_name
SHOW COLUMNS FROM video_info;

# 查看完整的 CREATE TABLE 语句(用于备份或迁移参考)
SHOW CREATE TABLE video_info;

第3步:表的创建与修改

目的:构建数据存储容器并调整结构。

# 新建表,定义字段及类型
CREATE TABLE chengji (
    yingyu INT,
    yuwen INT,
    shuxue INT
);

# 向表中新增列
ALTER TABLE chengji ADD meishu VARCHAR(50) NOT NULL DEFAULT '';

# 重命名表
RENAME TABLE chengji TO chengji2;

# 删除整张表(警告:此操作不可逆,将删除所有数据和结构)
DROP TABLE chengji2;

数据增删改查实战

第1步:数据查询

目的:检索已有数据及统计量。

# 查看某表所有数据(慎用,数据量大时可能导致内存溢出)
SELECT * FROM biao1 LIMIT 100;

# 统计表中数据行数
SELECT COUNT(*) FROM mytable;

# 范围查询优化提示:
# 在 WHERE 条件中涉及的字段应建立索引,避免全表扫描。
# 避免使用 SELECT *,仅选取需要的列可减少 I/O 开销。

第2步:数据更新与插入

目的:写入新记录或修正现有数据。

# 插入单条或多条数据
INSERT INTO t_search_config (FCorpUin, FDisplay, FTopPos)
VALUES (2852158899, 4, 10000);

# 更新特定条件的数据
UPDATE t_search_config 
SET FDisplay = 888 
WHERE FCorpUin = 1820140703;

重要提醒:在执行 UPDATE 和 DELETE 前,务必先用 SELECT 确认筛选条件 WHERE 匹配的行数,防止误操作。

第3步:数据删除

目的:移除不再需要的数据或清空表。

# 删除满足特定条件的行
DELETE FROM table_name WHERE condition_column = 'value';

# 【高风险】清空表中所有数据,保留表结构(自增 ID 复位视配置而定)
TRUNCATE TABLE table_name;

# 【高危】删除表及其所有数据
DROP TABLE table_name;

常见排错与注意事项

  • 连接被拒绝:检查是否使用了正确的端口(MySQL 默认为 3306),以及服务器安全组/防火墙是否允许该端口的 TCP 通信。
  • 乱码问题:如果插入中文出现问号,通常是字符集不一致。建议在连接时指定 charset,或在建库/建表时强制使用 utf8mb4。
  • 权限不足:如果执行 DDL(如 CREATE/DROP)报错,请确认当前登录用户在对应数据库上是否具有相应权限。
  • 版本确认:在客户端内可通过 SELECT VERSION(); 确认连接的 MySQL 具体小版本号,以适配不同的语法特性(MySQL 8 引入了 JSON 函数增强及新的认证插件)。

总结

以上便是 CentOS 7 环境下 MySQL 8 的常用命令与管理操作的详细内容。熟练掌握这些基础指令是进行数据库高效运维的前提,更多关于 Linux 数据库运维的资料请关注本站其它相关文章!

相关标签:

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

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 算法库。