CentOS 7 环境下 MySQL 8 常用命令指南
在 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 数据库运维的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









