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 密码时,可以按照以下步骤进行重置:
-
打开 MySQL 配置文件
/etc/my.cnf
,在[mysqld]
部分添加skip-grant-tables
,然后重启数据库。systemctl restart mysqld
-
使用以下命令进入 MySQL 并修改 root 密码:
set password for 'root'@'localhost'=password('newpassword');
-
修改完成后,记得将
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 删除表
删除表的方法有三种,操作强度从强到弱依次为:
-
DROP TABLE:直接删除表,数据不可恢复。
DROP TABLE table_name;
-
TRUNCATE TABLE:删除表中所有数据,不可与
WHERE
一起使用,且不可回滚。TRUNCATE TABLE table_name;
-
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 的区别
- 事务支持:
TRUNCATE
不支持事务回滚,而DELETE
支持。 - 重置自增 ID:
TRUNCATE
会重置自增 ID,而DELETE
不会。 - 触发器:
TRUNCATE
不会触发DELETE
触发器,而DELETE
会。 - 执行效率:
TRUNCATE
比DELETE
更高效,尤其在删除大表数据时。
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工具网(115工具网-一个提供高效、实用、方便的在线工具集合网站)提供Android Manifest 权限描述大全对照表,可以方便andriod开发者查看安卓权限描述功能 权限名称描述android.permission.ACCESS_CHECKIN_PROPERTIES访问登记属性读取或写入…...

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

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

如何进行 AWS 云监控
什么是 AWS? Amazon Web Services(AWS)是 Amazon 提供的一个全面、广泛使用的云计算平台。它提供广泛的云服务,包括计算能力、存储选项、网络功能、数据库、分析、机器学习、人工智能、物联网和安全。 使用 AWS 有哪些好处&…...

第十六篇:走入计算机网络的传输层--传输层概述
1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设…...

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

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

风格控制水平创新高!南理工InstantX小红书发布CSGO:简单高效的端到端风格迁移框架
论文链接:https://arxiv.org/pdf/2408.16766 项目链接:https://csgo-gen.github.io/ 亮点直击 构建了一个专门用于风格迁移的数据集设计了一个简单但有效的端到端训练的风格迁移框架CSGO框架,以验证这个大规模数据集在风格迁移中的有益效果。…...

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

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

通过redis-operator 来部署 Redis Cluster 集群
安装 Redis Operator 首先,需要安装 redis-operator。可以通过 Helm 或直接应用 YAML 文件来安装。 使用 Helm 安装: 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年首次亮相以来,Optuna不断发展,现已成为机器学习领域的重要工具。其用户社区持续壮大,目前已达到以下里程碑: 10,000 GitHub星标每月300万 下载量16,00…...

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

云计算之网络
目录 一、VPC:云网络的基石 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 是一个官方的图形化工具,用于开发、管理和设计 MySQL 数据库服务器。它提供了丰富的功能,可以帮助数据库管理员、开发者以及DBA们高效地工作。下面是一个MySQL Workbench的入门指南,介绍如何安装和使用它。 安装 MyS…...

【SpringBoot】使用Nacos服务注册发现与配置管理
前提:需要提前部署好nacos服务,这里可以参考我的文章: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
这个题是图的问题,因为图的拓扑排序在实际应用中有非常多的用途图,所以最近考的越来越多 解法都在代码里,不懂就留言或者私信 看这个题之前一定要好好看看207题我写的题解,也许207看懂了的话,210只是一个coding问题了…...

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

Vue 使用接口返回的背景图片和拼图图片进行滑动拼图验证
一、背景 前两天发了一篇 vue-monoplasty-slide-verify 滑动验证码插件使用及踩坑_vue-monoplasty-slide-verify 引用后不显示-CSDN博客 这两天项目又需要通过接口校验,接口返回了背景图片和拼图图片,于是在网上找了一篇帖子,vue 图片滑动…...

1-7 掩膜的运用 opencv树莓派4B 入门系列笔记
目录 一、提前准备 二、代码详解 num_pixels np.sum(mask 255) contours, _ cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) c max(contours, keycv2.contourArea) x, y, w, h cv2.boundingRect(c) M cv2.moments(contours[0]) if contours…...

EG边缘计算网关连接华为云物联网平台(MQTT协议)
需求概述 实现一个流程:EG8200mini采集Modbus RTU数据,通过MQTT协议连接华为云物联网平台 Modbus RTU采集此处不做过多赘述,可参考其他案例(串口读取Modbus传感器数据)介绍。下文默认已经采集到Modbus RTU数据。 要…...

List中常见的方法和五种遍历方式
有序:存取的顺序一致 有索引:可以通过索引操作元素 可重复:存储的元素可以重复 package mylist;import java.util.ArrayList; import java.util.List;public class A01_LIstDemo1 {public static void main(String[] args) {List<String…...

华为 HCIP-Datacom H12-821 题库 (8)
有需要题库的可以看主页置顶 1.在 DHCP 运行过程中,如果客户端 IP 地址在相约过去 87.5%还没有完成续约的话,客户将发送什么报文进行再次续约? A、DHCP discover 广播报文 B、DHCP release 单播报文 C、DHCP request 广播报文 D、DHCP reques…...

12. GIS地图制图工程师岗位职责、技术要求和常见面试题
本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…...

ORACLE 统计信息的备份与恢复
备份 --需要先创建统计信息基础表 exec dbms_stats.create_stat_table(USER1,STAT_TIMESTAMP); --导出某个用户的所有统计信息 exec dbms_stats.export_schema_stats(USER1,STAT_TIMESTAMP);--测试(插入100条,更新统计信息,略) select num_rows,last_ana…...

2. GIS数据工程师岗位职责、技术要求和常见面试题
本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…...

Spark MLlib模型训练—文本算法 LDA(Latent Dirichlet Allocation)
Spark MLlib模型训练—文本算法 LDA(Latent Dirichlet Allocation) Latent Dirichlet Allocation(LDA)是一种用于主题建模的生成式概率模型,广泛应用于文本分析和自然语言处理。LDA 的目标是从一组文档中发现潜在的主题,并将每个文档表示为这些主题的概率分布。它通过推断…...

C++ ─── List的模拟实现
目录 编辑 一, List的模拟实现 二,代码实现 三、list和vector的区别 一, List的模拟实现 List 是一个双向循环链表,由于List的节点不连续,不能用节点指针直接作为迭代器,因此我们要对结点指针封装,来…...