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

MySQL 数据库管理与操作指南

文章目录

  • MySQL 数据库管理与操作指南
    • 1. 忘记 MySQL 密码的处理方法
    • 2. MySQL 数据库备份与恢复
      • 2.1 数据库备份
      • 2.2 数据库恢复
    • 3. MySQL 用户与权限管理
      • 3.1 创建用户与授权
      • 3.2 查看所有用户
      • 3.3 删除用户
    • 4. 关闭 GTID 复制模式
    • 5. 查看数据表的存储引擎
      • 5.1 查看 MySQL 支持的存储引擎
      • 5.2 查看当前默认存储引擎
      • 5.3 查看具体表的存储引擎
      • 5.4 查看所有表的状态
    • 6. 数据库操作命令
      • 6.1 删除表
      • 6.2 MySQL 中 DELETE 与 TRUNCATE 的区别
    • 7. 查看单个数据库的大小
    • 8. 网络延迟、磁盘 I/O 与 CPU 优化
    • 9. 支持用户远程连接 MySQL 数据库


MySQL 数据库管理与操作指南

在日常的数据库管理过程中,我们经常需要执行各种操作,比如忘记密码后的应急处理、数据库备份与恢复、用户权限管理、数据库引擎查看与切换等。本文将对这些常见操作进行整理和说明,便于大家参考和学习。

1. 忘记 MySQL 密码的处理方法

当忘记 MySQL 的 root 密码时,可以按照以下步骤进行重置:

  1. 打开 MySQL 配置文件 /etc/my.cnf,在 [mysqld] 部分添加 skip-grant-tables,然后重启数据库。

    systemctl restart mysqld
    
  2. 使用以下命令进入 MySQL 并修改 root 密码:

    set password for 'root'@'localhost'=password('newpassword');
    
  3. 修改完成后,记得将 skip-grant-tables 删除,并重启数据库恢复正常模式。

2. MySQL 数据库备份与恢复

2.1 数据库备份

可以使用 mysqldump 工具备份数据库,并将备份文件压缩:

/usr/local/mysql/bin/mysqldump -uroot -p'password' database_name | gzip > backup.sql.gz

2.2 数据库恢复

恢复备份数据时,首先解压备份文件,然后导入到数据库:

gunzip < backup.sql.gz | mysql -u root -p'password' database_name

3. MySQL 用户与权限管理

3.1 创建用户与授权

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'%';
FLUSH PRIVILEGES;

3.2 查看所有用户

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

3.3 删除用户

DROP USER 'username'@'localhost';

4. 关闭 GTID 复制模式

在某些情况下,可能需要关闭 MySQL 的 GTID 复制模式,步骤如下:

SET GLOBAL GTID_MODE = ON_PERMISSIVE;
SET GLOBAL GTID_MODE = OFF_PERMISSIVE;
SET GLOBAL GTID_MODE = OFF;
SET @@global.enforce_gtid_consistency = OFF;

5. 查看数据表的存储引擎

5.1 查看 MySQL 支持的存储引擎

SHOW ENGINES;

5.2 查看当前默认存储引擎

SHOW VARIABLES LIKE '%storage_engine%';

5.3 查看具体表的存储引擎

SHOW CREATE TABLE table_name;

5.4 查看所有表的状态

SHOW TABLE STATUS;

6. 数据库操作命令

6.1 删除表

删除表的方法有三种,操作强度从强到弱依次为:

  1. DROP TABLE:直接删除表,数据不可恢复。

    DROP TABLE table_name;
    
  2. TRUNCATE TABLE:删除表中所有数据,不可与 WHERE 一起使用,且不可回滚。

    TRUNCATE TABLE table_name;
    
  3. DELETE FROM:删除表中指定行的数据,可回滚。

    DELETE FROM table_name WHERE condition;
    

    举例

    delect from slams_app where id >=31 and id <= 208;
    

    这是删除31条到208条,包括31和208

6.2 MySQL 中 DELETE 与 TRUNCATE 的区别

  1. 事务支持TRUNCATE 不支持事务回滚,而 DELETE 支持。
  2. 重置自增 IDTRUNCATE 会重置自增 ID,而 DELETE 不会。
  3. 触发器TRUNCATE 不会触发 DELETE 触发器,而 DELETE 会。
  4. 执行效率TRUNCATEDELETE 更高效,尤其在删除大表数据时。

7. 查看单个数据库的大小

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size, CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size, CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free, CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables 
WHERE table_schema = 'database_name';

8. 网络延迟、磁盘 I/O 与 CPU 优化

在数据库管理中,除了 SQL 语句的优化外,还需考虑网络延迟、磁盘 I/O 与 CPU 的影响。通过监控这些系统指标,可以有效提高数据库的性能。

9. 支持用户远程连接 MySQL 数据库

为了让 MySQL 用户可以从远程主机连接数据库,需要授予相应的权限:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • 'username'@'%'%表示允许从任何远程主机连接。如果只允许特定主机连接,可以将 % 替换为特定主机的 IP 地址。
  • WITH GRANT OPTION:允许该用户将权限授予其他用户。

例如:

GRANT ALL PRIVILEGES ON *.* TO 'cbcioscar'@'%' IDENTIFIED BY 'Cbcioscar!@#' WITH GRANT OPTION;
FLUSH PRIVILEGES;

通过上述命令,cbcioscar 用户可以从任何远程主机连接到 MySQL 数据库,并且拥有所有数据库的所有权限。

相关文章:

MySQL 数据库管理与操作指南

文章目录 MySQL 数据库管理与操作指南1. 忘记 MySQL 密码的处理方法2. MySQL 数据库备份与恢复2.1 数据库备份2.2 数据库恢复 3. MySQL 用户与权限管理3.1 创建用户与授权3.2 查看所有用户3.3 删除用户 4. 关闭 GTID 复制模式5. 查看数据表的存储引擎5.1 查看 MySQL 支持的存储…...

Android Manifest 权限描述大全对照表

115工具网&#xff08;115工具网-一个提供高效、实用、方便的在线工具集合网站&#xff09;提供Android Manifest 权限描述大全对照表&#xff0c;可以方便andriod开发者查看安卓权限描述功能 权限名称描述android.permission.ACCESS_CHECKIN_PROPERTIES访问登记属性读取或写入…...

Ollama Qwen2 支持 Function Calling

默认 Ollama 中的 Qwen2 模型不支持 Function Calling&#xff0c;使用默认 Qwen2&#xff0c;Ollama 会报错。本文将根据官方模板对 ChatTemplate 进行改进&#xff0c;使得Qwen2 支持 Tools&#xff0c;支持函数调用。 Ollama 会检查对话模板中是否存在 Tools&#xff0c;如…...

APP测试工程师岗位面试题

一、你们公司研发团队采用敏捷开发模式的原因&#xff1f; 由于版本节奏比较快&#xff0c;开发与测试几乎并行&#xff0c;一个版本周期内会有两版在推动&#xff0c;也就是波次发布&#xff0c;波次发布用于尝试新加入的功能&#xff0c;做小范围快速的开发&#xff0c;验证…...

如何进行 AWS 云监控

什么是 AWS&#xff1f; Amazon Web Services&#xff08;AWS&#xff09;是 Amazon 提供的一个全面、广泛使用的云计算平台。它提供广泛的云服务&#xff0c;包括计算能力、存储选项、网络功能、数据库、分析、机器学习、人工智能、物联网和安全。 使用 AWS 有哪些好处&…...

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制&#xff0c;传输层需要做数据分割&#xff0c;所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机&#xff0c;无法判断数据报文应该交给哪个应用&#xff0c;传输层给每个应用都设…...

提升效率!ArcGIS中创建脚本工具

在我们日常使用的ArcGIS中已经自带了很多功能强大的工具&#xff0c;但有时候遇到个人的特殊情况还是无法满足&#xff0c;这时就可以试着创建自定义脚本工具。 一、编写代码 此处的代码就是一个很简单的给图层更改别名的代码。 1. import arcpy 2. input_fc arcpy.GetParam…...

无人机之报警器的作用

一、紧急救援与辅助搜救 紧急救援&#xff1a;在事故或紧急情况下&#xff0c;无人机报警器可以迅速发出警报&#xff0c;指引救援人员前往事故地点&#xff0c;提高救援效率。 辅助搜救&#xff1a;无人机搭载报警器可以辅助寻找失踪人员或其他需要搜救的场景&#xff0c;通…...

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架

论文链接&#xff1a;https://arxiv.org/pdf/2408.16766 项目链接&#xff1a;https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架&#xff0c;以验证这个大规模数据集在风格迁移中的有益效果。…...

python文件自动化(4)

接上节课内容&#xff0c;在开始正式移动文件到目标文件夹之前&#xff0c;我们需要再思考一个问题。在代码运行之前&#xff0c;阿文的下载文件夹里已经存在一些分类文件夹了&#xff0c;比如图例中“PDF文件”这个文件夹就是已经存在的。这样的话&#xff0c;在程序运行时&am…...

HTTP 方法

HTTP 方法 1. 引言 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是互联网上应用最为广泛的协议之一。它定义了客户端和服务器之间交换信息的格式和规则。在HTTP通信中&#xff0c;客户端&#xff08;通常是浏览器&#xff09;向服务器…...

通过redis-operator 来部署 Redis Cluster 集群

安装 Redis Operator 首先&#xff0c;需要安装 redis-operator。可以通过 Helm 或直接应用 YAML 文件来安装。 使用 Helm 安装&#xff1a; helm repo add ot-helm https://ot-container-kit.github.io/helm-charts/ helm install redis-operator ot-helm/redis-operator --…...

vue3集成sql语句编辑器

使用的是codemirror 安装 pnpm add codemirror vue-codemirror --savepnpm add codemirror/lang-sqlpnpm add codemirror/theme-one-dark使用 <template><codemirror v-model"configSql" placeholder"Code goes here..." ref"codemirrorR…...

Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著

Optuna这个备受欢迎的超参数优化框架在近期发布了其第四个主要版本。自2018年首次亮相以来&#xff0c;Optuna不断发展&#xff0c;现已成为机器学习领域的重要工具。其用户社区持续壮大&#xff0c;目前已达到以下里程碑&#xff1a; 10,000 GitHub星标每月300万 下载量16,00…...

https和harbor仓库跟k8s

目录 https 做证书 harbor仓库 https https是加密的http&#xff0c;它的端口是443&#xff0c;它的协议是tcp协议。建立连接和普通的tcp是一样的&#xff0c;都是三次握手和四次挥手&#xff0c;但是它三次握手之后有一个步骤&#xff1a;SSL或者TLS握手的过程&#xff0c…...

云计算之网络

目录 一、VPC&#xff1a;云网络的基石 1.1 VPC产品介绍 1.2 vswitch交换机 1.3 vrouter路由器 1.4 产品架构 1.5 常见问题解答及处理 1.5.1 VPC内如何查询某个IP归属? 1.5.2 网络ACL阻断导致ECS访问CLB不通 1.5.3 EIP秒级突发/分布式限速丢包 1.5.4 NAT网关的流量监…...

MySQL Workbench 的入门指南

前言 MySQL Workbench 是一个官方的图形化工具&#xff0c;用于开发、管理和设计 MySQL 数据库服务器。它提供了丰富的功能&#xff0c;可以帮助数据库管理员、开发者以及DBA们高效地工作。下面是一个MySQL Workbench的入门指南&#xff0c;介绍如何安装和使用它。 安装 MyS…...

【SpringBoot】使用Nacos服务注册发现与配置管理

前提&#xff1a;需要提前部署好nacos服务&#xff0c;这里可以参考我的文章&#xff1a;Windows下Nacos安装与配置 0. 版本信息 Spring Boot3.2.8Spring Cloud2023.0.1Spring Cloud alibaba2023.0.1.0nacos2.3.2本地安装的nacos2.3.0 Spring Boot、Spring Cloud、Spring Clo…...

Leetcode面试经典150题-210.课程表II

这个题是图的问题&#xff0c;因为图的拓扑排序在实际应用中有非常多的用途图&#xff0c;所以最近考的越来越多 解法都在代码里&#xff0c;不懂就留言或者私信 看这个题之前一定要好好看看207题我写的题解&#xff0c;也许207看懂了的话&#xff0c;210只是一个coding问题了…...

视频汇聚平台LntonAIServer视频质量诊断功能--偏色检测与噪声检测

随着视频监控技术的不断进步&#xff0c;视频质量成为了决定监控系统性能的关键因素之一。LntonAIServer新增的视频质量诊断功能&#xff0c;特别是偏色检测和噪声检测&#xff0c;进一步强化了视频监控系统的可靠性和实用性。下面我们将详细介绍这两项功能的技术细节、应用场景…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...