CentOS作为企业级Linux发行版的代表,广泛应用于服务器环境,而MySQL作为开源关系型数据库管理系统,是其核心组件之一,掌握MySQL命令是管理和维护CentOS系统下MySQL数据库的基础,本文将系统梳理常用命令,帮助用户高效操作数据库。

MySQL服务管理
在CentOS中,MySQL服务通常通过systemctl进行管理,常用命令如下:
- 启动服务:
sudo systemctl start mysqld - 停止服务:
sudo systemctl stop mysqld - 重启服务:
sudo systemctl restart mysqld - 查看服务状态:
sudo systemctl status mysqld - 设置开机自启:
sudo systemctl enable mysqld - 禁用开机自启:
sudo systemctl disable mysqld
首次安装MySQL后,建议使用sudo mysql_secure_installation命令进行安全配置,包括设置root密码、移除匿名用户、禁止root远程登录等操作。
用户与权限管理
MySQL的权限控制是数据库安全的核心,相关命令如下:

- 创建用户:
CREATE USER 'username'@'host' IDENTIFIED BY 'password'; - 授权:
GRANT PRIVILEGES ON database_name.table_name TO 'username'@'host'; - 查看用户权限:
SHOW GRANTS FOR 'username'@'host'; - 撤销权限:
REVOKE PRIVILEGE ON database_name.table_name FROM 'username'@'host'; - 删除用户:
DROP USER 'username'@'host';
常用权限包括ALL(所有权限)、SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)等,授权时建议遵循最小权限原则,例如仅授予用户特定数据库的访问权限。
数据库与表操作
数据库管理
- 创建数据库:
CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; - 选择数据库:
USE database_name; - 查看所有数据库:
SHOW DATABASES; - 删除数据库:
DROP DATABASE database_name;
表操作
- 创建表:
CREATE TABLE table_name (column1 datatype, column2 datatype, ...); - 查看表结构:
DESC table_name;或SHOW COLUMNS FROM table_name; - 修改表结构:
ALTER TABLE table_name ADD column_name datatype;(添加列) - 删除表:
DROP TABLE table_name;
数据操作语言(DML)
数据查询
- 基础查询:
SELECT column1, column2 FROM table_name WHERE condition; - 排序:
SELECT * FROM table_name ORDER BY column_name ASC/DESC; - 聚合函数:
SELECT COUNT(*), SUM(column_name), AVG(column_name) FROM table_name; - 分组:
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;
数据插入与更新
- 插入数据:
INSERT INTO table_name (column1, column2) VALUES (value1, value2); - 批量插入:
INSERT INTO table_name VALUES (value1, value2), (value3, value4); - 更新数据:
UPDATE table_name SET column1 = value1 WHERE condition; - 删除数据:
DELETE FROM table_name WHERE condition;
数据备份与恢复
备份命令
- 备份数据库:
mysqldump -u username -p database_name > backup_file.sql - 备份所有数据库:
mysqldump -u username -p --all-databases > all_backup.sql - 备份特定表:
mysqldump -u username -p database_name table_name > table_backup.sql
恢复命令
- 恢复数据库:
mysql -u username -p database_name < backup_file.sql - 恢复所有数据库:
mysql -u username -p < all_backup.sql
性能优化与维护
- 查看慢查询日志:
SHOW VARIABLES LIKE 'slow_query_log'; - 分析表:
ANALYZE TABLE table_name; - 优化表:
OPTIMIZE TABLE table_name; - 查看当前连接数:
SHOW STATUS LIKE 'Threads_connected';
常用配置与日志管理
- 查看MySQL配置文件位置:
mysql --help | grep "Default options" - 查看错误日志:
tail -f /var/log/mysqld.log - 查询执行日志(需开启):
SET GLOBAL general_log = 'ON';
相关问答FAQs
Q1:如何重置MySQL root密码?
A1:
- 停止MySQL服务:
sudo systemctl stop mysqld - 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables & - 无密码登录MySQL:
mysql -u root - 执行以下命令(MySQL 5.7+):
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root'; FLUSH PRIVILEGES; - 重启MySQL服务:
sudo systemctl restart mysqld
Q2:如何查看MySQL的版本和当前运行状态?
A2:

- 查看版本:
mysql --version或登录后执行SELECT VERSION(); - 查看运行状态:登录后执行
SHOW STATUS;,重点关注Threads_connected(连接数)、Queries(查询总数)等指标。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复