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 数据库,并且拥有所有数据库的所有权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型(LLM)如何更好地继续预训练(Continue PreTraining)

预训练&#xff08;Pretraining&#xff09;是一个非常消耗资源的工作&#xff0c;尤其在 LLM 时代。随着LLama2的开源&#xff0c;越来越多人都开始尝试在这个强大的英文基座模型上进行中文增强。但&#xff0c;我们如何才能保证模型在既学到「中文知识」的情况下&#xff0c;…

【spring】 Jackson :@JsonIgnore 注解

@JsonIgnore 是 Jackson 库中的一个注解,用于在序列化和反序列化过程中忽略某个字段。也就是说,当对象被转换为 JSON 或从 JSON 转换为对象时,带有 @JsonIgnore 注解的字段将不会被包含在内在这个示例中,ignoredField 字段将不会出现在生成的 JSON 字符串中。 import com.…

灰光模块,彩光模块-介绍

1. 引用 知识分享系列一&#xff1a;5G基础知识-CSDN博客 5G前传的最新进展-CSDN博客 灰光和彩光_通信行业5G招标系列点评之二&#xff1a;一文读懂5G前传-光纤、灰光、彩光、CWDM、LWDM、MWDM...-CSDN博客 ADOP带你了解&#xff1a;CWDM、DWDM、MWDM、LWDM&#xff1a;快速…

网络编程day03(网络体系结构、调试命令、TCP/IP对比)

目录 1》网络的体系结构 1> OSI模型 2> TCP/IP模型 3> 常见网络协议 4> DNS域名解析协议 2》 网络调试命令 1> ping&#xff1a;测试网络连通性&#xff08;ICMP&#xff09; 2> netstat 3》Dos &#xff08;拒绝式服务&#xff09;攻击&#xff1f;…

【大模型-RAG】RAG最佳实践论文及项目解读

文章目录 论文概述RAG工作流程核心代码解读软件架构查询引擎构建数据加载与索引创建微调嵌入模型 项目应用结论 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;因其强大的文本生成能力而备受关注。然而&#xff0c;这些模型在生成信息时可能会产生过时的…

HTML和HTML5有什么区别

HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;而HTML5是HTML的最新版本。虽然HTML和HTML5在许多方面相似&#xff0c;但HTML5引入了许多新的特性和改进&#xff0c;使得网页开发更加高效和功能丰富。 一、HTML概述 HTML&#xff0c;即超文本标记语…

分布式锁的实现:ZooKeeper 的解决方案

在分布式系统中&#xff0c;不同的服务或进程需要访问共享资源时&#xff0c;常常需要一种机制来确保在同一时刻只有一个服务或进程能够访问资源。这种机制被称为分布式锁。ZooKeeper&#xff0c;一个为分布式应用提供一致性服务的开源协调服务&#xff0c;提供了一种实现分布式…

Django 测试指南

#Django 测试指南 对绝大部分人来说&#xff0c;测试Django应用感觉很神秘&#xff0c;他们只是听说代码必须要测试&#xff0c;但是经常找不到线索如何入手。当他们看了Django的测试文档&#xff0c;他们找到深入的哪些功能是可用的&#xff0c;但是如果实现没有任何指导。 …

代码随想录:96. 不同的二叉搜索树

96. 不同的二叉搜索树 class Solution { public:int numTrees(int n) {int dp[30]{0};//由i个结点组成的二叉搜索树有多少种dp[0]1; for(int i1;i<n;i)for(int j0;j<i;j)//j表示根节点左子树有j个结点dp[i]dp[j]*dp[i-j-1];//对根节点左右子树结点数量遍历//数量有左子树…

什么是数据结构三要素?

目录 1.逻辑结构 2.数据的存储结构 3.数据的运算 1.逻辑结构 逻辑结构是指数据元素之间的逻辑关系&#xff0c;即从逻辑关系上描述数据。 它与数据的存储无关&#xff0c;是独立于计算机的。数据的逻辑结构非为线性结构和非线性结构&#xff0c;线性表是典型的线性结构&am…

ELK学习笔记——如何给Kibana新增用户和角色

Kibana新增用户和角色 首先用超管账号登录上Kibana&#xff0c;按照下面步骤操作 1、创建角色 按图操作 2、创建用户 按图操作 3、给用户分配角色 至此&#xff0c;角色和用户绑定成功&#xff1b; 最后&#xff0c;可以退出管理员账号&#xff0c;登录这个新…

【MATLAB】FIR滤波器的MATLAB实现

FIR滤波器的MATLAB实现 FIR滤波器的设计fir1函数fir2函数 与IIR滤波器相比&#xff0c;FIR滤波器既有其优势也有其局限性。FIR滤波器的主要优点包括&#xff1a; 精确的线性相位响应&#xff1b;永远保持稳定性&#xff1b;设计方法通常是线性的&#xff1b;在硬件实现中具有更…

Django学习实战篇二(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 从这一章开始&#xff0c;我们来创建项目typeidea&#xff0c;我把它放到了GitHub上。强烈建议你也到GitHub上注册一个账号&#xff08;如果没有的话&#xff09;&#xff0c;然后创建这样的项目。当然&#xff0c;你也可以起一个属于自己的名称。这个项目就是…

Live800:以客户为中心,重塑服务标准

在快速迭代的商业环境中&#xff0c;企业若想持续繁荣&#xff0c;就必须不断审视并优化自身的服务模式。传统上&#xff0c;服务往往被视为产品交易的附加品&#xff0c;但今日之市场&#xff0c;服务已悄然成为企业核心竞争力的关键要素。因此&#xff0c;“以客户为中心&…

Excel数据导入MySQL数据库的完整指南

在日常的数据处理工作中&#xff0c;经常需要将Excel中的数据导入到MySQL数据库中&#xff0c;以便进行进一步的数据分析和管理。本文将详细介绍如何将Excel数据导入MySQL数据库的完整步骤&#xff0c;包括数据准备、数据库连接、数据导入以及验证等关键步骤。 一、准备工作 …

PostgreSQL 17即将发布,新功能Top 3

按照计划&#xff0c;PostgreSQL 17 即将在 2024 年 9 月 26 日发布&#xff0c;目前已经发布了第一个 RC 版本&#xff0c;新版本的功能增强可以参考 Release Notes。 本文给大家分享其中 3 个重大的新增功能。 MERGE 语句增强 MERGE 语句是 PostgreSQL 15 增加的一个新功能…

5、Django Admin后台移除“删除所选”操作

默认情况下&#xff0c;Django Admin后台的listview模型列表页&#xff0c;会有一个Delete Selected删除所选操作。假设你需要再从Hero管理模型中移除该删除操作。 ModelAdmin.get_actions方法可以返回所有的操作方法。通过覆盖此方法&#xff0c;移除其中delete_selected方法…

pytorch torch.einsum函数介绍

torch.einsum 是 PyTorch 中一个强大且灵活的张量运算函数,基于爱因斯坦求和约定进行操作。它允许用户通过简单的字符串表达式来定义复杂的张量运算,代替显式的循环或多个矩阵乘法操作。 函数签名 torch.einsum(equation, *operands) → Tensor参数 equation: 一个字符串,…

美团面试:mysql 索引失效?怎么解决? (重点知识,建议收藏,读10遍+)

美团面试&#xff1a;mysql 索引失效&#xff1f;怎么解决&#xff1f; 尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、shopee、百度、网易的面试资格&#xff0c;遇到很多很…

【商城源码开发周期是多久?】

文章目录 前言一、项目规模二、开发方式三、开发团队四、测试质量五、开发周期案例总结 前言 商城源码的开发周期通常从几天到几个月不等&#xff0c;具体时间取决于项目的规模、复杂度、开发方式和团队实力等因素。 在确定开发周期时&#xff0c;需要考虑多个因素&#xff0…