CentOS下MySQL命令大全,常用命令有哪些及如何使用?

CentOS作为企业级Linux发行版的代表,广泛应用于服务器环境,而MySQL作为开源关系型数据库管理系统,是其核心组件之一,掌握MySQL命令是管理和维护CentOS系统下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的权限控制是数据库安全的核心,相关命令如下:

CentOS下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:

  1. 停止MySQL服务:sudo systemctl stop mysqld
  2. 跳过权限表启动:sudo mysqld_safe --skip-grant-tables &
  3. 无密码登录MySQL:mysql -u root
  4. 执行以下命令(MySQL 5.7+):
    UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
    FLUSH PRIVILEGES;
  5. 重启MySQL服务:sudo systemctl restart mysqld

Q2:如何查看MySQL的版本和当前运行状态?
A2:

CentOS下MySQL命令大全,常用命令有哪些及如何使用?

  • 查看版本:mysql --version 或登录后执行 SELECT VERSION();
  • 查看运行状态:登录后执行 SHOW STATUS;,重点关注Threads_connected(连接数)、Queries(查询总数)等指标。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-01 10:03
下一篇 2024-08-03 22:54

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信