【MySQL | 进阶篇】09、MySQL 管理及常用工具(mysqladmin、mysqlbinlog、mysqldump 等)的使用

news2024/9/22 13:35:26

目录

一、系统数据库

二、常用工具 

2.1 mysql

示例

2.2 mysqladmin 

示例 

2.3 mysqlbinlog

示例

2.4 mysqlshow

示例

2.5 mysqldump(数据备份)

示例

2.6 mysqlimport/source(数据恢复)

2.6.1 mysqlimport

2.6.2 source


一、系统数据库

Mysql 数据库安装完成后,自带了以下四个数据库,具体作用如下:

二、常用工具 

2.1 mysql

该 mysql 不是指 mysqld 服务,而是指 mysql 的客户端工具。 

语法 :
    mysql [options] [database]
选项 :
    -u, --user=name           # 指定用户名
    -p, --password[=name]     # 指定密码
    -h, --host=name           # 指定服务器 IP 或域名(不写则默认本地 ip)
    -P, --port=port           # 指定连接端口(不写则默认端口 3306)
    -e, --execute=name        # 执行 SQL 语句并退出

        -e 选项可以在 Mysql 客户端执行 SQL 语句,而不用连接到 MySQL 数据库再执行,对于一些批处理脚本,这种方式尤其方便。

示例

mysql -uroot -p1234 itcast -e "select * from stu"

2.2 mysqladmin 

        mysqladmin 是一个执行管理操作的客户端程序。可以用它来检查服务器的配置和当前状态、创建并删除数据库等。

# 通过帮助文档查看选项:
[root@mysql01 ~]# mysqladmin --help

语法:
    mysqladmin [options] command ...
选项:
    -u, --user=name             # 指定用户名
    -p, --password[=name]       # 指定密码
    -h, --host=name             # 指定服务器 IP 或域名
    -P, --port=port             # 指定连接端口

示例 

# 删除指定的数据库
mysqladmin -uroot –p1234 drop 'test01'

# 查看数据库版本信息
mysqladmin -uroot –p1234 version

2.3 mysqlbinlog

        由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文本的文本格式,就会使用到 mysqlbinlog 日志管理工具。 

语法 :
    mysqlbinlog [options] log-files1 log-files2 ...
选项 :
    -d, --database=name         # 指定数据库名称,只列出指定的数据库相关操作。
    -o, --offset=               # 忽略掉日志中的前 n 行命令。
    -r, --result-file=name      # 将输出的文本格式日志输出到指定文件。
    -s, --short-form            # 显示简单格式, 省略掉一些信息。
    --start-datatime=date1 --stop-datetime=date2 # 指定日期间隔内的所有日志。
    --start-position=pos1 --stop-position=pos2   # 指定位置间隔内的所有日志。

示例

A. 查看 binlog.000008 这个二进制文件中的数据信息

        上述查看到的二进制日志文件数据信息量太多了,不方便查询。我们可以加上一个参数 -s 来显示简单格式。 

2.4 mysqlshow

        mysqlshow 客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引。 

语法 :
    mysqlshow [options] [db_name [table_name [col_name]]]

选项 :
    --count     # 显示数据库及表的统计信息(数据库,表 均可以不指定)
    -i          # 显示指定数据库或者指定表的状态信息

示例:
    # 查询 test 库中每个表中的字段书,及行数
    mysqlshow -uroot -p2143 test --count

    # 查询 test 库中 book 表的详细情况
    mysqlshow -uroot -p2143 test book --count

示例

A. 查询每个数据库的表的数量及表中记录的数量

mysqlshow -uroot -p1234 --count

B. 查看数据库 itcast 的统计信息 

mysqlshow -uroot -p1234 itcast --count

C. 查看数据库 itcast 中的 stu 表的信息 

mysqlshow -uroot -p1234 itcast stu --count

D. 查看数据库 itcast 中的 stu 表的 id 字段的信息 

mysqlshow -uroot -p1234 itcast stu id --count

2.5 mysqldump(数据备份)

        mysqldump 客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表及插入表的 SQL 语句。 

语法 :
    mysqldump [options] db_name [tables]
    mysqldump [options] --database/-B db1 [db2 db3...]
    mysqldump [options] --all-databases/-A

连接选项 :
    -u, --user=name               # 指定用户名
    -p, --password[=name]         # 指定密码
    -h, --host=name               # 指定服务器ip或域名
    -P, --port=                   # 指定连接端口

输出选项:
    --add-drop-database           # 在每个数据库创建语句前加上 drop database 语句
    --add-drop-table              # 在每个表创建语句前加上 drop table 语句 , 默认开启; 不开启 (--skip-add-drop-table)
    -n, --no-create-db            # 不包含数据库的创建语句
    -t, --no-create-info          # 不包含数据表的创建语句
    -d, --no-data                 # 不包含数据
    -T, --tab=name                # 自动生成两个文件:一个.sql文件,创建表结构的语句;一个.txt文件,数据文件

示例

A. 备份 itcast 数据库

# 备份文件在当前目录(也可以写绝对路径到指定目录)
mysqldump -uroot -p1234 itcast > itcast_20230421.sql

可以直接打开 cat itcast_20230421.sql,来查看备份出来的数据到底什么样。 

备份出来的数据包含:

  • 删除表的语句

  • 创建表的语句

  • 数据插入语句

        如果我们在数据备份时,不需要创建表,或者不需要备份数据,只需要备份表结构,都可以通过对应的参数来实现。 

B. 备份 itcast 数据库中的表数据,不备份表结构(-t)

mysqldump -uroot -p1234 -t itcast > itcast02_20230421.sql

打开 itcast02_20230421.sql,来查看备份的数据,只有 insert 语句,没有备份表结构。

C. 将 itcast 数据库的表的表结构与数据分开备份(-T)

mysqldump -uroot -p1234 -T /root itcast stu

        执行上述指令,会出错,数据不能完成备份,原因是因为我们所指定的数据存放目录 /root,MySQL 认为是不安全的,需要存储在 MySQL 信任的目录下。那么,哪个目录才是 MySQL 信任的目录呢,可以查看 一下系统变量 secure_file_priv 。执行结果如下: 

        上述的两个文件 stu.sql 中记录的就是表结构文件,而 stu.txt 就是表数据文件,但是需要注意表数据文件,并不是记录一条条的 insert 语句,而是按照一定的格式记录表结构中的数据。如 下: 

2.6 mysqlimport/source(数据恢复)

2.6.1 mysqlimport

mysqlimport 是客户端数据导入工具,用来导入 mysqldump 加 -T 参数后导出的文本文件。

注意:导入前需要把原来的表删掉才能成功。 

语法 :
    mysqlimport [options] db_name textfile1 [textfile2...]

示例 :
    mysqlimport -uroot -p2143 test /tmp/city.txt

2.6.2 source

如果需要导入 sql 文件,可以使用 mysql 中的 source 指令 (需要进入 mysql 命令行内执行): 

语法 :
    source /root/xxxxx.sql

上一篇文章:【MySQL | 进阶篇】08、InnoDB 引擎架构、事务原理及 MVCC 讲解_Stars.Sky的博客-CSDN博客

下一篇文章:【MySQL | 运维篇】01、日志_数据库 日志 管理 运维_Stars.Sky的博客-CSDN博客

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

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

相关文章

实现表格可编辑(点击字段出现输入框)vue elementUI

实现表格可编辑 参考&#xff1a;el-table 中实现表格可编辑_el表格编辑_快乐征途的博客-CSDN博客 按行保存数据&#xff0c;每行数据最后都有一个保存按钮&#xff0c;如下图所示 使用的是<template>嵌套<el-input> 完整代码如下&#xff1a; <template>…

【计算机视觉 | 目标检测】RT-DETR:DETRs Beat YOLOs on Real-time Object Detection

文章目录 一、前言二、简介三、相关方法3.1 实时目标检测器3.2 端到端目标检测器3.3 目标检测的多尺度特征 四、检测器端到端速度4.1 分析NMS4.2 端到端速度基准 五、The Real-time DETR5.1 方法概览5.2 高效混合编码器5.2.1 计算瓶颈分析5.2.2 Hybrid design5.2.3 IoU-Aware查…

【LeetCode】105. 从前序与中序遍历序列构造二叉树

1.问题 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null…

“访达”不能完成操作,因为不能读取或写入“”中某些数据。

“访达”不能完成操作&#xff0c;因为不能读取或写入“”中某些数据。 复制文件夹时出现「“访达”不能完成该操作&#xff0c;因为不能读取或写入“”中的某些数据。 &#xff08;错误代码-36&#xff09;」及icloud中文件夹无法下载提示「未能下载项目“XX”。」 最近1个月…

1.Mybatis基本介绍

为什么使用MyBatis&#xff1f; 1.JDBC在创建Connection的时候&#xff0c;存在硬编码问题&#xff08;也就是直接把连接信息写死&#xff0c;不方便后期维护&#xff09; 2.preparedStatement对象在执行sql语句的时候存在硬编码问题 3.每次在进行一次数据库连接后都会关闭数据…

【SWAT水文模型】ArcSWAT输入准备:土地利用/土壤/气象数据

ArcSWAT输入准备&#xff1a;土地利用/土壤/气象数据 1 土地利用数据的处理1.1 数据下载 2 土壤库建立2.1 数据下载 3 气象数据库参考 1 土地利用数据的处理 1.1 数据下载 下载地址如下&#xff1a; 中科院1km土地利用数据 清华大学高精度土地利用数据 2 土壤库建立 SW…

pytest学习二(通过配置文件运行、分组执行,及其它一些参数)

接上一篇说到了环境的配置&#xff0c;以及一个用例的编写&#xff0c;接下来继续记录一些它的运行方式和一些平常使用的标签 一、通过全局配置文件&#xff08;pytest.ini&#xff09;运行 pytest.ini配置文件的编写规则 ①编码格式一般为ANSI ②一般放在项目的根目录下&a…

个人杂笔记

docker里面的-p暴露端口是确确实实写了才会映射到主机 docker run -d --hostname my-rabbit --name my-rabbit -e RABBITMQ_DEFAULT_USERroot -e RABBITMQ_DEFAULT_PASS250772730 -p 8080:8080 -p 15672:15672 -p 5672:5672 rabbitmq:3-managementpip安装提示warning 可能原因…

【 Spring Mybatis 复杂的查询操作 】

文章目录 引言一、参数占位符 #{} 和 ${}二、SQL 注入三、like 模糊查询四、返回类型&#xff1a;resultType 和 resultMap五、多表查询 引言 前面我们已经学会了使用 Mybatis 进行增&#xff0c;删&#xff0c;改操作&#xff0c;也实现了简单的查询操作 &#xff01;下面我们…

执着于考研考公却一再挫败,拿什么拯救你的职场后半生?

今天之所以想写一篇这样的文章&#xff0c;确确实实是有感而发&#xff0c;因为从近来接触的学员身上&#xff0c;能够最直观地感受到&#xff1a;考公考研失败后的同学&#xff0c;他们内心的那种焦虑感远超往期&#xff01; 用他们的话讲&#xff1a;“目前的状态就是感觉自…

540. 有序数组中的单一元素

给你一个仅由整数组成的有序数组&#xff0c;其中每个元素都会出现两次&#xff0c;唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。 示例 1: 输入: nums [1,1,2,3,3,4,4,8,8] 输出: 2 示…

“开发人员必备技能:Python接口自动化测试全攻略“:了解接口测试的基础知识,并通过Python编写测试用例,提升自己的测试技能

目录 摘要 一、基础知识 二、工具选择 三、实现步骤 1.安装依赖库 2.编写测试用例 3.运行测试用例 4.查看测试结果 四、代码实现 总结 摘要 随着互联网行业的不断发展&#xff0c;越来越多的企业开始注重自动化测试的重要性。而在自动化测试中&#xff0c;接口自动化…

同为科技(TOWE)防雷科普篇(二)——雷击灾害急救方法大全

前 言 当雷击发生时&#xff0c;空气中的各种微粒互相碰撞和摩擦便会使该空气介质两面的正负电荷的量持续积累&#xff0c;这时加于该空气介质的电压也会同时增加&#xff0c;当局部电压达到当时条件下空气的击穿电压时&#xff0c;该空气介质的局部便会发生电击穿而持续成为等…

我国激光打标机行业分析:防疫放开医疗行业激光打标机需求迫切 行业将迈向自动化、智能化的未来

1、激光打标机行业定义、分类及应用范围 激光打标机是用激光束在各种不同的物质表面打上永久标记的激光设备。激光打标技术相比传统的标识技术&#xff0c;不仅仅在对于材料的损耗&#xff0c;标识效果更具有优势&#xff0c;并且在生产加工的效率和产出方面更是有过之而无不及…

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)

Apache APISIX Dashboard API权限绕过导致RCE&#xff08;CVE-2021-45232&#xff09; 0x00漏洞信息 Apache APISIX 是一个动态、实时、高性能的 API 网关&#xff0c; 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX …

节点流和处理流

节点流可以从一个特定的数据源读写数据&#xff0c;如FileReader&#xff0c;FileWriter处理流&#xff08;也叫包装流&#xff09;是“连接”在已存在的流&#xff08;节点流或处理流&#xff09;之上&#xff0c;为程序提供更为强大的读写功能&#xff0c;也更加灵活&#xf…

JavaEE IP协议详细讲解

详细讲解IP协议 O > O 文章目录 JavaEE & IP协议1. 地址管理1.1 IP协议报文格式1.2 动态分配IP地址1.3 NAT机制1.4 IP协议1.4 IP协议工作过程1.5 IPV6协议1.6 IP地址的组成1.7 特殊的IP地址 2. 路由选择 JavaEE & IP协议 1. 地址管理 我们希望&#xff0c;每个网络…

免费AI人工智能在线写作伪原创-百度ai自动写文章

免费伪原创洗稿工具 免费伪原创洗稿工具现在终于推出了&#xff01;你是否在写作的时候&#xff0c;经常因为缺乏灵感而苦恼&#xff1f;或者&#xff0c;你在撰写文章的时候&#xff0c;发现自己的语言表述不够丰富&#xff0c;缺乏变化&#xff0c;语句重复率太高&#xff1f…

从零学习SDK(9)SDK的局限

SDK是一种便捷而实用的工具&#xff0c;但软件开发者不能视SDK为万能的解决之道&#xff0c;SDK也有局限性&#xff0c;并且这些局限性可能会十分“致命”。软件开发者在选择SDK产品之前&#xff0c;需要先了解SDK的不足之处。本文将介绍SDK存在的三种问题&#xff0c;以引起软…

新手必看!ChatGPT常见问题总整理,你遇到了几个?

随着ChatGPT火爆全球,使用人数以指数型成长,许多使用上的问题呈现在网路上。 今天这篇文章会用实作的方式带大家了解ChatGPT有哪些常见问题,以此减少踩坑的机会。 并用简单的示例让大家感受GPT-3.5与GPT-4的能力差异,希望对大家有所帮助。 大家会有这些问题,其实就是希望…