当前位置: 首页 > news >正文

Linux服务器管理MySQL数据库的常见命

Linux 服务器上管理 MySQL 数据库,需要掌握一系列常用命令,以便高效完成数据库的安装、配置、管理和维护工作。以下是 MySQL 数据库管理的常见命令及其使用方法。


1. MySQL 服务管理

1.1 启动、停止、重启 MySQL 服务

管理 MySQL 服务的基本操作:

bash

复制

# 启动 MySQL 服务
sudo systemctl start mysql# 停止 MySQL 服务
sudo systemctl stop mysql# 重启 MySQL 服务
sudo systemctl restart mysql# 查看 MySQL 服务状态
sudo systemctl status mysql

2. 登录和退出 MySQL

2.1 登录 MySQL

登录到 MySQL 数据库,需提供用户名和密码:

bash

复制

# 使用 root 用户登录
mysql -u root -p
  • 系统会提示输入 root 用户的密码。

2.2 退出 MySQL

从 MySQL Shell 中退出:

sql

复制

exit;

sql

复制

quit;

3. 数据库管理

3.1 查看所有数据库

显示当前服务器上的所有数据库:

sql

复制

SHOW DATABASES;

3.2 创建数据库

创建一个新的数据库:

sql

复制

CREATE DATABASE 数据库名;

3.3 删除数据库

删除一个数据库(需谨慎操作):

sql

复制

DROP DATABASE 数据库名;

3.4 使用某个数据库

切换到指定的数据库:

sql

复制

USE 数据库名;

4. 数据表管理

4.1 查看数据库中的所有表

列出当前数据库中的所有表:

sql

复制

SHOW TABLES;

4.2 创建表

创建一个名为 users 的表:

sql

复制

CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4.3 查看表结构

查看表的字段定义和结构:

sql

复制

DESCRIBE 表名;

sql

复制

SHOW COLUMNS FROM 表名;

4.4 删除表

删除一个表(会丢失所有数据):

sql

复制

DROP TABLE 表名;

5. 数据管理

5.1 插入数据

向表中插入一行数据:

sql

复制

INSERT INTO 表名 (字段1, 字段2, 字段3)
VALUES ('值1', '值2', '值3');

5.2 查询数据

从表中查询数据:

sql

复制

SELECT * FROM 表名;

带条件查询:

sql

复制

SELECT * FROM 表名 WHERE 字段1 = '某值';

5.3 更新数据

更新表中的数据:

sql

复制

UPDATE 表名
SET 字段1 = '新值'
WHERE 字段2 = '条件值';

5.4 删除数据

删除表中的数据:

sql

复制

DELETE FROM 表名 WHERE 字段1 = '某值';

6. 用户管理

6.1 创建用户

创建一个新用户并设置密码:

sql

复制

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
  • 主机名
    • 'localhost':仅允许本地访问。
    • '%':允许任意主机访问。

6.2 查看用户权限

显示用户的权限信息:

sql

复制

SHOW GRANTS FOR '用户名'@'主机名';

6.3 授予权限

授予用户对某数据库的访问权限:

sql

复制

GRANT 权限 ON 数据库名.* TO '用户名'@'主机名';

常见权限:

  • ALL PRIVILEGES:所有权限。
  • SELECT:查询权限。
  • INSERT:插入权限。
  • UPDATE:更新权限。
  • DELETE:删除权限。

刷新权限:

sql

复制

FLUSH PRIVILEGES;

6.4 撤销权限

撤销用户权限:

sql

复制

REVOKE 权限 ON 数据库名.* FROM '用户名'@'主机名';

6.5 删除用户

删除用户:

sql

复制

DROP USER '用户名'@'主机名';

7. 数据备份与恢复

7.1 数据库备份

使用 mysqldump 备份数据库:

bash

复制

# 备份单个数据库
mysqldump -u root -p 数据库名 > 数据库名.sql# 备份所有数据库
mysqldump -u root -p --all-databases > all_databases.sql

7.2 数据库恢复

从备份文件恢复数据库:

bash

复制

# 恢复到指定数据库
mysql -u root -p 数据库名 < 数据库名.sql# 恢复所有数据库
mysql -u root -p < all_databases.sql

8. 配置与优化

8.1 修改 MySQL 配置文件

MySQL 的主要配置文件路径:

bash

复制

/etc/mysql/my.cnf

常见配置:

  • 最大连接数

    ini

    复制

    max_connections = 500
    
  • 查询缓存

    ini

    复制

    query_cache_size = 64M
    query_cache_type = 1
    

8.2 重载配置

修改配置文件后,需重启 MySQL 服务:

bash

复制

sudo systemctl restart mysql

9. 性能监控与优化

9.1 查看运行状态

使用 SHOW STATUS 查看服务器状态:

sql

复制

SHOW STATUS;

9.2 查看当前连接

查看当前活动连接:

sql

复制

SHOW PROCESSLIST;

9.3 优化表

优化表以释放未使用的空间并提高性能:

sql

复制

OPTIMIZE TABLE 表名;

10. 常用工具

10.1 MySQL 命令行管理工具

  • MySQL CLI:默认的命令行工具。
  • MySQL Workbench:图形化管理工具,支持 SQL 查询、数据库建模等。

10.2 性能分析工具

  • Percona Toolkit:用于查询性能分析和数据库优化。
  • MySQLTuner:快速分析 MySQL 配置和性能的脚本。

总结

通过掌握以上常见命令,您可以轻松完成 MySQL 数据库的日常管理任务,包括数据库和用户管理、数据操作、备份与恢复、性能优化等。对于实际生产环境,建议定期备份数据库并优化配置,以保证系统的稳定性和高效运行。

http://www.dtcms.com/a/314361.html

相关文章:

  • Spring AI 系列之三十三 - Spring AI Alibaba-Graph框架之人类反馈
  • 区块链基础之Merkle B+树
  • 【Spring】SpringBoot自动注入原理分析,@SpringBootApplication、@EnableAutoConfiguration详解
  • Java类与对象练习题
  • 运动想象 (MI) 分类学习系列 (18) : MSVTNet
  • 一(1)关于单链表中的疑问
  • Spring AI实战:SpringBoot项目结合Spring AI开发——提示词(Prompt)技术与工程实战详解
  • SAP-ABAP:ABAP Open SQL 深度解析:核心特性、性能优化与实践指南
  • 设计模式 -> 策略模式(Strategy Pattern)
  • 2025年8月4日私鱼创作平台v1.0.4公测版更新发布-完成大部分功能包含关注创作者以及发布作品及合集功能优雅草科技
  • 06 基于sklearn的机械学习-欠拟合、过拟合、正则化、逻辑回归
  • 线程互斥锁:守护临界区的关键
  • 可编辑190页PPT | 某科技集团数字化转型SAP解决方案
  • Vue 3 版本的 JWT 单点登录 (SSO) 实现
  • 国家科学技术奖答辩PPT案例_科技进步奖ppt制作_技术发明奖ppt设计美化_自然科学奖ppt模板 | WordinPPT
  • 使用mybatis生成器生成实体类mapper和查询参数文件,实现简单增删改查。使用log4j输出日志到控制台。使用配置文件注册Bean,配置视图解析器
  • 【Java】使用模板方法模式设计EasyExcel批量导入导出
  • Apache Camel 中 ProducerTemplate
  • 刷题日志(7)——二叉树高频习题(下)
  • 高精度实战:YOLOv11交叉口目标行为全透视——轨迹追踪×热力图×滞留分析(附完整代码)
  • FrePrompter: Frequency self-prompt for all-in-one image restoration
  • Opencv[一]
  • R 语言科研绘图第 67 期 --- 箱线图-显著性
  • Spark SQL:用SQL玩转大数据
  • OpenCV轻松入门_面向python(第二章图像处理基础)
  • 论文阅读笔记:《Dataset Distillation by Matching Training Trajectories》
  • 【数据结构初阶】--算法复杂度详解
  • 登录弹窗,cv直接使用
  • 【FreeRTOS】系统时钟配置
  • HTTP基本结构