MySQL 工具使用指南

一、mysql bin下的一些可执行文件

这些文件是编译后的二进制可执行文件。

二、MySQL 各工具的实际类型

工具类型说明
mysql二进制用 C/C++ 编写,编译成二进制
mysqldump二进制或Perl脚本取决于 MySQL 版本和安装方式
mysqladmin二进制用 C/C++ 编写
mysqlcheckPerl 脚本是一个 Perl 脚本
mysqlimport二进制或脚本取决于版本
mysqlshow二进制用 C/C++ 编写
mysqlbinlog二进制用 C/C++ 编写

三、7大工具详解

  • mysql- 连接和执行 SQL
  • mysqldump- 数据备份和恢复
  • mysqladmin- 服务器管理
  • mysqlcheck- 表检查和修复
  • mysqlimport- 数据导入
  • mysqlshow- 查看数据库信息
  • mysqlbinlog- 查看二进制日志

MySQL 工具使用指南

1. mysql - 连接 MySQL 服务器

用途:连接 MySQL 数据库,执行 SQL 语句

基本语法

mysql -h 主机地址 -P 端口 -u 用户名 -p 密码 -D 数据库名

常用示例

# 方式1:连接本地 MySQL,输入密码后进入交互式界面 mysql -u root -p # 输入密码后,进入 mysql> 提示符 # 方式2:直接指定密码(不安全,不推荐) mysql -u root -pPassword123 -h 127.0.0.1 -P 3306 # 方式3:连接远程 MySQL mysql -u root -p -h 192.168.1.100 -P 3306 # 方式4:连接并指定数据库 mysql -u root -p -D mydb # 方式5:执行 SQL 文件 mysql -u root -p -D mydb < /path/to/script.sql # 方式6:执行单条 SQL 语句 mysql -u root -p -D mydb -e "SELECT * FROM users;"

进入交互式界面后

mysql> USE mydb; # 选择数据库 mysql> SHOW TABLES; # 查看表 mysql> SELECT * FROM users LIMIT 5; # 查询数据 mysql> EXIT; # 退出

2. mysqldump - 数据库备份

用途:备份数据库、表或整个 MySQL 实例

基本语法

mysqldump -h 主机 -u 用户名 -p 密码 [选项] 数据库名 [表名] > 备份文件.sql

常用示例

# 备份整个数据库 mysqldump -u root -p mydb > mydb_backup.sql # 备份多个数据库 mysqldump -u root -p --databases db1 db2 db3 > multi_db_backup.sql # 备份单个表 mysqldump -u root -p mydb users > users_table_backup.sql # 备份所有数据库 mysqldump -u root -p --all-databases > all_databases_backup.sql # 仅备份表结构(不备份数据) mysqldump -u root -p --no-data mydb > mydb_structure.sql # 仅备份数据(不备份表结构) mysqldump -u root -p --no-create-info mydb > mydb_data.sql # 备份并压缩(减少文件大小) mysqldump -u root -p mydb | gzip > mydb_backup.sql.gz # 显示进度 mysqldump -u root -p --verbose mydb > mydb_backup.sql

恢复备份

# 恢复数据库 mysql -u root -p mydb < mydb_backup.sql # 恢复压缩的备份 gunzip < mydb_backup.sql.gz | mysql -u root -p mydb # 使用 source 命令恢复 mysql -u root -p mysql> SOURCE /path/to/mydb_backup.sql;

3. mysqladmin - 服务器管理

用途:管理 MySQL 服务器(创建、删除数据库,查看状态等)

基本语法

mysqladmin -h 主机 -u 用户名 -p 命令

常用示例

# 查看 MySQL 服务器状态 mysqladmin -u root -p status # 查看服务器变量 mysqladmin -u root -p variables # 创建数据库 mysqladmin -u root -p create mydb # 删除数据库(需要确认) mysqladmin -u root -p drop mydb # 强制删除(不需要确认) mysqladmin -u root -p -f drop mydb # 查看连接的用户和进程 mysqladmin -u root -p processlist # 关闭 MySQL 服务 mysqladmin -u root -p shutdown # 重启 MySQL(需要有权限) mysqladmin -u root -p flush-privileges # 修改 root 密码 mysqladmin -u root -p password newpassword # 查看 MySQL 版本 mysqladmin -u root -p version # ping MySQL(检查连接是否正常) mysqladmin -u root -p ping # 输出: mysqld is alive # 查看所有数据库 mysqladmin -u root -p -e "SHOW DATABASES;"

4. mysqlcheck - 检查和修复表

用途:检查、修复、分析和优化数据库表

基本语法

mysqlcheck -h 主机 -u 用户名 -p [选项] 数据库名 [表名]

常用示例

# 检查某个数据库的所有表 mysqlcheck -u root -p mydb # 检查特定的表 mysqlcheck -u root -p mydb users # 修复表中的错误 mysqlcheck -u root -p --repair mydb # 修复特定的表 mysqlcheck -u root -p --repair mydb users # 优化表(整理表数据,释放空间) mysqlcheck -u root -p --optimize mydb # 分析表(更新表的统计信息,用于查询优化) mysqlcheck -u root -p --analyze mydb # 同时执行检查、修复、优化 mysqlcheck -u root -p --check --repair --optimize mydb # 检查所有数据库 mysqlcheck -u root -p --all-databases # 显示详细信息 mysqlcheck -u root -p --verbose mydb # 自动修复(检查失败时自动尝试修复) mysqlcheck -u root -p --auto-repair mydb

5. mysqlimport - 导入数据

用途:从文本文件批量导入数据到数据库表

基本语法

mysqlimport -h 主机 -u 用户名 -p [选项] 数据库名 文件名

常用示例

# 导入单个文件(文件名必须与表名一致) # 比如要导入到 users 表,文件应该命名为 users.txt mysqlimport -u root -p mydb /path/to/users.txt # 导入多个文件 mysqlimport -u root -p mydb /path/to/users.txt /path/to/products.txt # 导入 CSV 文件(指定字段分隔符) mysqlimport -u root -p --fields-terminated-by=',' mydb users.csv # 导入 TSV 文件(制表符分隔) mysqlimport -u root -p --fields-terminated-by='\t' mydb users.txt # 忽略第一行(通常是标题) mysqlimport -u root -p --ignore-lines=1 mydb users.csv # 显示导入的详细信息 mysqlimport -u root -p --verbose mydb users.txt # 导入时指定列的顺序 mysqlimport -u root -p --columns=id,name,email mydb users.txt

文件格式要求

# users.txt(制表符分隔) 1 张三 zhangsan@example.com 2 李四 lisi@example.com # users.csv(逗号分隔) 1,张三,zhangsan@example.com 2,李四,lisi@example.com

6. mysqlshow - 显示数据库和表信息

用途:查看 MySQL 中的数据库、表、列信息

基本语法

mysqlshow -h 主机 -u 用户名 -p [数据库名] [表名]

常用示例

# 显示所有数据库 mysqlshow -u root -p # 显示指定数据库中的所有表 mysqlshow -u root -p mydb # 显示表的详细信息(包括列信息) mysqlshow -u root -p mydb users # 显示表的列信息 mysqlshow -u root -p mydb users -v # 显示表的列和类型信息 mysqlshow -u root -p mydb users --verbose # 显示表的统计信息(包括行数、大小等) mysqlshow -u root -p mydb --status # 显示所有表的统计信息 mysqlshow -u root -p mydb --status -v # 显示某个表的索引信息 mysqlshow -u root -p mydb users -k # 显示数据库的字符集信息 mysqlshow -u root -p mydb -c # 只显示表名 mysqlshow -u root -p mydb | grep "Tables"

7. mysqlbinlog - 查看二进制日志

用途:查看 MySQL 二进制日志,用于恢复数据、分析数据变更

基本语法

mysqlbinlog [选项] 二进制日志文件

常用示例

# 查看二进制日志的内容 mysqlbinlog /var/lib/mysql/mysql-bin.000001 # 输出为 SQL 语句 mysqlbinlog --base64-output=never /var/lib/mysql/mysql-bin.000001 # 显示事件的详细信息 mysqlbinlog --verbose /var/lib/mysql/mysql-bin.000001 # 查看指定时间范围内的日志 mysqlbinlog --start-datetime='2025-01-01 00:00:00' \ --stop-datetime='2025-01-01 23:59:59' \ /var/lib/mysql/mysql-bin.000001 # 查看指定位置的日志 mysqlbinlog --start-position=154 --stop-position=954 /var/lib/mysql/mysql-bin.000001 # 输出到文件 mysqlbinlog /var/lib/mysql/mysql-bin.000001 > binlog.sql # 恢复数据(通常用于灾难恢复) mysqlbinlog /var/lib/mysql/mysql-bin.000001 | mysql -u root -p mydb # 查看多个日志文件 mysqlbinlog /var/lib/mysql/mysql-bin.000001 /var/lib/mysql/mysql-bin.000002 > all_binlog.sql

常见使用场景

场景1:完整的数据备份和恢复流程

# 备份 mysqldump -u root -p --all-databases | gzip > all_db_backup_$(date +%Y%m%d).sql.gz # 恢复 gunzip < all_db_backup_20250109.sql.gz | mysql -u root -p

场景2:批量导入数据

# 准备 CSV 文件 cat users.csv # 1,张三,zhangsan@example.com # 2,李四,lisi@example.com # 导入数据 mysqlimport -u root -p --fields-terminated-by=',' --ignore-lines=1 mydb users.csv

场景3:数据库维护

# 检查所有表 mysqlcheck -u root -p --all-databases # 修复和优化 mysqlcheck -u root -p --check --repair --optimize --all-databases

场景4:定时备份脚本

#!/bin/bash # 指定使用 bash 解释器 BACKUP_DIR="/backup/mysql" # 定义变量:备份目录 DATE=$(date +%Y%m%d_%H%M%S) # 定义变量:当前时间戳 # 执行 mysqldump 备份,并用 gzip 压缩 mysqldump -u root -p --all-databases | gzip > $BACKUP_DIR/backup_$DATE.sql.gz # 删除 30 天前的备份文件 find $BACKUP_DIR -name "backup_*.sql.gz" -mtime +30 -delete

添加crontab定时命令:

# 编辑 crontab 定时任务 crontab -e # 添加以下行:每天凌晨 2 点执行备份 0 2 * * * /home/admin/backup.sh # 每周日执行备份 0 2 * * 0 /home/admin/backup.sh # 每小时执行备份 0 * * * * /home/admin/backup.sh

crontab 时间规则解释:

┌─────────────── 分钟 (0-59) │ ┌───────────── 小时 (0-23) │ │ ┌─────────── 日期 (1-31) │ │ │ ┌───────── 月份 (1-12) │ │ │ │ ┌─────── 周几 (0-7, 0和7都表示周日) │ │ │ │ │ │ │ │ │ │ 0 2 * * * /path/to/backup.sh # 含义:每天凌晨2点0分执行

什么是 Crontab?

Crontab是 Linux/Unix 中的定时任务工具,可以在指定的时间自动执行脚本或命令。


常用选项总结

选项说明
-h指定主机地址
-P指定端口号(默认3306)
-u用户名
-p密码(建议互动输入)
-D指定数据库
--verbose显示详细信息
--force/-f强制执行(不提示确认)
--all-databases操作所有数据库
--databases指定多个数据库
--no-data只导出结构,不导出数据
--no-create-info只导出数据,不导出结构

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

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

相关文章

鸿蒙生态再落一子,广汽集团与华为终端达成全面合作

云开发 在鸿蒙操终端设备数量突破3600万台、生态发展进入快车道之际&#xff0c;鸿蒙生态今日再次迎来汽车产业的重量级合作伙伴。1月5日&#xff0c;华为常务董事、产品投资评审委员会主任、终端BG董事长余承东带队访问广汽集团番禺总部&#xff0c;并与广汽集团董事长冯兴亚等…

【2025最新】HCIA-AI V4.0 备考全攻略:从 DeepSeek 到昇腾底层逻辑,全网最细避坑指南

前言&#xff1a;华为认证 HCIA-AI 已经升级到 V4.0 版本。相比 V3.5&#xff0c;新版不仅仅是增加了大模型&#xff08;DeepSeek&#xff09;和 AI4Science&#xff0c;更在 MindSpore 2.0 语法、昇腾计算架构&#xff08;CANN&#xff09;以及模型推理优化&#xff08;MindIE…

AI编程会让程序员集体失业吗?

看到一个很有争议的一个问题&#xff0c;AI Coding已经能编出很完美的程序&#xff0c;程序员这个行业以后是不是会消失&#xff1f;其实vibe coding&#xff08;氛围编程&#xff09;还是个伪命题&#xff0c;更不要说替代程序员了。大家都在说AI已经能写出完美的程序&#xf…

【毕业设计】人工智能基于python深度学习的树叶健康识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

告别手动修图!AI指令改图助力电商人,轻松搞定全场景素材需求

电商运营中&#xff0c;视觉素材直接影响转化&#xff0c;但改图痛点突出&#xff1a;与设计师反复沟通、排期等待耗时费力&#xff0c;旺季赶进度更是焦灼。AI指令改图功能完美破解困境&#xff0c;无需懂设计&#xff0c;输入指令即可精准改图&#xff0c;适配全电商场景。下…

【华为认证】HCIP-AI V1.0 深度进阶:人工智能应用的趋势与挑战(高级工程师版)

0. 前言&#xff1a;从“小模型”到“大底座”的范式革命作为 AI 开发者&#xff0c;我们正在经历从 Discriminative AI&#xff08;判别式 AI&#xff09; 到 Generative AI&#xff08;生成式 AI&#xff09; 的范式转移。在 HCIA 阶段&#xff0c;我们关注的是针对特定任务训…

【华为认证】HCIP-AI V1.0 深度进阶:AI 芯片与算力底座——解构达芬奇架构的矩阵暴力

0. 前言&#xff1a;为什么大模型时代“算力”是第一生产力&#xff1f;在 HCIA 阶段&#xff0c;我们习惯于调用 model.train()。但在高级工程领域&#xff0c;你会发现 Memory Wall&#xff08;存储墙&#xff09; 和 Compute Bound&#xff08;计算受限&#xff09; 才是真正…

【课程设计/毕业设计】基于python深度学习的树叶健康识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【华为认证】HCIP-AI V1.0 深度进阶:推理架构与向量数据——构建高效 AI 流水线

0. 前言&#xff1a;为什么高级工程师要将推理与数据解耦再重构&#xff1f;在 HCIA 阶段&#xff0c;我们认为数据处理就是 Pandas 洗洗表&#xff0c;推理就是 model.predict()。但在高并发、大规模的昇腾&#xff08;Ascend&#xff09;生产环境中&#xff1a;推理基础&…

AI写作助手测评:谁是最强创作大脑

技术文章大纲&#xff1a;AI写作助手测评大会引言简要介绍AI写作助手的兴起背景及其在内容创作领域的应用现状。 说明测评大会的目的&#xff0c;即通过多维度测试评估主流AI写作工具的性能和适用场景。测评标准与指标列出核心测评维度&#xff1a;语言流畅性与逻辑性创意与内容…

geo源码生成式内容搜索优化排名系统开发----

开发一套GEO&#xff08;地理信息优化&#xff09; 生成式内容 搜索排名优化 的综合系统&#xff0c;核心目标是通过 AI 生成适配不同地理区域的内容&#xff0c;并geo系统自动优化这些内容以提升搜索引擎排名。我先帮你梳理核心开发思路&#xff0c;再提供可落地的系统架构和…

Bug悬案侦破:技术侦探的破案指南

技术文章大纲&#xff1a;Bug悬案侦破大会引言简述Bug悬案的概念&#xff1a;难以复现、逻辑隐蔽或跨系统协作导致的复杂问题强调技术团队通过协作和工具链解决此类问题的价值典型Bug悬案分类幽灵Bug&#xff1a;偶发性问题&#xff0c;缺乏稳定复现路径性能悬崖&#xff1a;特…

【华为认证】HCIP-AI V1.0 深度进阶:部署选型与加速黑科技——大模型工业化降本增效

0. 前言&#xff1a;从“实验室模型”到“工业级算力”的惊险一跳在 HCIA 阶段&#xff0c;我们关注的是 Loss 是否收敛&#xff1b;在 HCIP 的高级工程实践中&#xff0c;我们关注的是 TCO&#xff08;总拥有成本&#xff09; 和 QPS&#xff08;每秒查询数&#xff09;。第五…

高效管理临时文件:自动化清理方案全解析

临时文件自动化管理方案技术文章大纲背景与需求分析临时文件的定义及其在系统中的常见来源&#xff08;如缓存、日志、下载目录等&#xff09;临时文件管理不善的潜在问题&#xff08;磁盘空间占用、性能下降、安全隐患&#xff09;自动化管理的核心目标&#xff08;高效清理、…

微信小程序开发中,模拟器启动失败问题

模拟器启动失败&#xff0c;显示timeout。 排查后发现是挂了梯子的原因&#xff0c;下掉就好了

华为OD机考双机位C卷 - 出错的或电路 (Java Python JS C/C++ GO )

最新华为OD机试 真题目录&#xff1a;点击查看目录 华为OD面试真题精选&#xff1a;点击立即查看 华为OD机考双机位C卷 - 出错的或电路 题目描述 某生产门电路的厂商发现某一批次的或门电路不稳定&#xff0c;具体现象为计算两个二进制数的或操作时&#xff0c;第一个二进…

微信王炸!AI 应用与线上工具小程序成长计划,普通开发者的黄金机会来了!

微信王炸&#xff01;AI 应用与线上工具小程序成长计划&#xff0c;普通开发者的黄金机会来了&#xff01; 码上全栈创享家 原创整理 聚焦项目实战&#xff5c;前端 后端 小程序 AI 应用 随着 AI 应用从“尝鲜”走向“刚需”&#xff0c;一个现实问题摆在开发者面前&#x…

信创产品委托第三方检测机构进行国产化测试多少钱

随着信创产业深入推进&#xff0c;越来越多的科研企业将信创产品送至第三方检测机构进行国产化适配认证。那么了解国产化测试的收费内容&#xff0c;更有助于软件公司们合理规划测试预算。一、基础检测费用基础费用根据产品类型与测试范围确定。软件产品通常依据功能模块数量、…

2026 年,手把手教你用 HubSpot 创建社交媒体营销日历

新年第一步&#xff1a;告别临时抱佛脚&#xff0c;让内容规划走上正轨 元旦假期一过&#xff0c;2026 年就正式开始了。对于营销人来说&#xff0c;新的一年意味着新的 KPI&#xff0c;也意味着一个老问题又摆在面前&#xff1a;明天发什么&#xff1f;下周发什么&#xff1f;…

破局增长!AI+本地化双轮驱动客户管理,软件公司CRM应用实战指南

——从客户管理到智能决策&#xff0c;打造高效增长引擎 一、软件公司为何必须拥抱CRM&#xff1f; 在需求迭代加速、客户价值深化的今天&#xff0c;传统Excel微信的管理模式正成为软件企业发展的桎梏&#xff1a; 客户资产流失风险&#xff1a;项目信息散落于个人电脑/群聊&a…