MySQL工具包中的其他程序

? ?雖然有很多不同的程序,但有些選項是公共的,比兔用戶名和密碼,使用方法和MySQL相同,

在這里統一列出,后面我們介紹不同的工具時,只討論個性的選項以及作用

以下是常用的MySQL程序:

程序名作用

mysqld

MySQL的守護進程即MySQL服務器,mysqld是服務端的程序,需要使用mysql服務器mysqld一定要在運行狀態
mysqlmysql是一個客戶端程序,用于交互輸入SQL語句或批處理模式從文件執行SQL的命令行工具
mysqlcheck用于檢查,修復,分析和優化表的表客戶端工具
mysqldump將MySQL數據庫轉儲到SQL,文本或者XML文件中的客戶端
mysqlimport將文本文件導入到表的客戶端工具(備份和恢復
mysqladmin執行管理操作的客戶端,例如創建或刪除數據庫,重新加載授權表,將表刷新到磁盤以及重新打開日志文件,mysqladmin還可以用于從服務器檢索版本,進程和狀態信息
mysqlshow顯示數據庫,表,列和索引信息的客戶端
mysqldumpslow用于讀取和匯總慢速查詢日志內容的實用程序
mysqlbinlog從二進制日志中讀取SQL語句的使用程序,mysqlbinlog文件中包含的已執行SQL語句的日志,可用于從崩潰中恢復數據
mysqlslap客戶端負載工具,模擬多個客戶端同時訪問MySQL服務器,并報告每個階段的使用時間。

公共選項如下:?

選項--長格式短格式說明
--host-h

--host=host_name,-h host_name

連接到指定主機上的MySQL服務

--post-P

--port=port_num,-P port_num

TCP/IP連接使用的端口號

--user-u

--user=user_name,-u user_name

用于連接到MySQL服務器的用戶名

--password-p

--password[=password],-p[password]

用于連接到MySQL服務器的密碼,可選,如果沒有給出,會提示用戶輸入。

--defaults-file

--defaults-file=file_name

使用指定的選項文件,如果該文件不存在,則會發生錯誤

--compress-C如果可能,壓縮客戶端和服務器之間傳輸的所有信息。
--protocol用于連接到服務器的傳輸協議,默認為TCP
--version-V顯示版本信息并退出
--help-?顯示幫助信息并退出

1.mysqlcheck - 表維護程序:

mysqlcheck客戶端用于執行表維護,可以對表進行分析,檢查,優化或者修復操作。

1.分析的作用是查看關鍵字的分布,能夠讓sql生成正確的執行計劃(支持InnoDB,MyISAM,NDB)

2.檢查的作用是檢查表的完整性以及數據庫表和索引是否損壞(支持InnoDB,MyLSAM,ARCHIVE,CSV)

3.優化的作用是回收空間,減少碎片,提高I/O(支持InnoDB,MyISAM,ARCHIVE)

4.修復的作用是修復可能已經損壞的表(支持MyISAM,ARCHIVE,CSV)

注意:

1.當使用mysqlcheck工具時,MySQL服務器必須在運行狀態

2.執行過程中,有些表會被鎖定,所以這時其他操作將會被掛起。

3.并不是所有儲存引擎都會支持上面四種操作,如果遇到不支持的就會出錯。

4.執行表修復操作之前對表進行備份,在某些情況下可能會導致數據丟失。

使用方法:

1.mysqlcheck [options] db_name [tbl_name...];

db_name指數據庫的名字,必須要指定,后面的表名可以指定也可以不指定,不指定就是操作該數據庫下的所有表。

2.mysqlcheck [options] --databases db_name;

該操作可以操作多個數據庫,后面跟的是多個需要操作的數據庫名字。

3.mysqlcheck [options] --all-databases;

操作所有數據庫。

mysqlcheck有如下常用選項【options】,可以在命令行中指定,也可以在選項文件中通過[mysqlcheck]和[client]組進行指定。

選項說明
--analyze,-a分析表
--check,-c檢查表中的錯誤,mysqlcheck的默認操作

--optimize,-o

優化表
--repair,-r執行可能進行的任務修復操作,除了唯一鍵

?優化操作中,其實執行的是一個重建操作,官網中也建議不要經常去執行優化操作。

InnoDB存儲引擎是不支持修復操作的,如果要修復,就要把InnoDB存儲引擎轉化為MyIsam存儲引擎?

特殊操作 :

mysqlcheck程序的默認功能是對數據進行檢查操作(相當于--check),如果想要對表進行修復操作,可以通過復制原來的mysqlcheck程序,并重命名為mysqlrepair,并運行mysqlrepair即可,還可以創建mysqlcheck的快捷方式,并且把快捷方式命名為mysqlrepair然后直接運行,這時就執行的是修復操作,通過下表所示的命名方式可以改變mysqlcheck的默認行為:

程序名說明
mysqlrepair默認行為是修復,相當于選項--repair
mysqlanalyze默認行為是修復,相當于分析--analyze
mysqloptimize默認行為是修復,相當于優化--optimize

2.Mysqldump-數據庫備份程序:

作用:mysqldump客戶端程序可以執行邏輯備份并生成一份SQL語句,其中包含原始數據和表的定義以及表中的數據,以便實現對數據庫的簡單備份和復制,mysqldump命令可以生成CSV,或者XML格式的文件。

注意:

1.轉儲表時必須要有SELECT權限。

2.轉儲視圖時必須要有SHOW VIEW權限。

3.轉儲觸發器時必須要有TRIGGER權限。

4.如果沒有使用--single-transaction選項時必須要有LOCK TABLES權限。

5.如果沒有使用--no-tablespaces選項時必須要有PROCESS權限。

6.重新導入轉儲文件時,也需要相應的權限。

7.由于mysqldump是逐漸轉儲數據,所以不太適用于大數據的轉儲和導入。

?使用方法:

mysqldump的方法通常有以下使用,可以轉儲一個或多個表和數據庫,如下圖所示:

mysqldump [options] db_name [tbl_name...]

mysqldump [options] --databases db_name...

mysqldump [options] --all-databases

?常用選項:

mysqldump有如下選項,可以在命令行中指定,也可以在選項文件中通過[mysqldump]和[client]組進行指定。

選項說明
--add-drop-database在每個CREATE DATABASE語句之前添加DROP DATABASE語句
--add-drop-table在每個CREATE TABLE語句之前添加DROP TABLE
--add-drop-trigger在每個CREATE TRIGGER語句之前添加DROP TRIGGER語句
--databases,-B--databases=db_name多個數據庫名用空格隔開
--comments,-i添加注釋到轉儲文件中
--compact緊湊格式輸出
--ignore-table--ignore-table=db_name.table_name多個表用空格分開
--no-create-db,-n不要生成CREATE DATABASE語句
--no-create-info,-t不要為每個轉儲的表生成CREATE TABLE語句
--no-data,-d不轉儲表的內容
--triggers轉儲每個表中的觸發器
--xml,-X異XML格式輸出

示例:

test_ab:是指定的數據庫名字

/root/dump.sql:導出的路徑地址。??

?可以看到這個sql文件已經成功導出,我們可以打開看看:

?mysqladmin-mysql服務管理程序

mysqladmin是一個執行管理操作的客戶端,可以用來檢查服務器的配置和當前狀態,以及創建和刪除數據庫等。(使用mysqladmin的用戶必須要有管理員權限)

使用方法:

mysqladmin [options] [command [command-arg] ]...

?常用選項:

mysqladmin的常用選項參考公共選項那一部分,可以在命令行中指定,也可以在選項文件中通過[mysqladmin] 和[client]組進行指定。

語法中command表示命令,有些命令后面需要跟上一個參數,mysqladmin的常用命令:

1.version:顯示來自服務器的版本信息。

2.status:顯示簡短的服務器狀態消息。

uptime:mysql已經運行的秒數。

Threads:活動線程(客戶端)的數量?

Questions:自服務器啟動以來客戶端問題(查詢)數。

Slow queries:慢SQL的查詢數。

Opens:服務器已打開的表數。

Flush tables:服務器已執行flush-*,refresh和reload命令的數量。

Open tables:當前打開的表數。

?3.password new_password

設置新密碼

1.如果密碼中有空格,則必須要用雙引號把密碼括起來。

password后面可以省略密碼,mysqladmin會在之后提示輸入新密碼。

password作為最后一個command時才能省略密碼值,否則下一個參數將作為密碼值。

4.processlist:顯示活動服務器線程的列表。

5.kill id,id....

終止服務器線程,如果給出多個線程ID值,則列表中不能有空格。

默認mysql服務器可以維護150個活動連接,如果連接被用完,那么可以通過KILL指定去手動結束休眠時間最常的線程。

mysqlshow-顯示數據庫,表和列的信息:

mysqlshow可以快速查看數據庫,以及數據庫中表的列和其中的索引信息。

使用方法:

mysqlshow [數據庫名] [表名] [列名] ;

對應的數據庫名和表面還有列名可以用通配符*,?,%和_代替。

如果不指定數據庫,查詢的就是所有的數據庫名的列表信息。

如果不指定表,查詢的就是數據庫中所有匹配的表信息。

如果不指定列名,則查詢的就是表中的所有列信息。

注意:前提是當前的權限可以訪問的數據庫,表和列的信息。

常用選項:

mysqlshow的常用選項可以參考公共選項部分,可以在命令行中指定,也可以通過選項文件[mysqlshow]和[client]組中進行指定。

mysqldumpslow-總結慢查詢日志:

在平時使用mysql時,我們經常使用查詢語句,但是有些查詢語句執行時間非常長,當執行查詢語句的時候超過閾值的時候,就把這個叫做慢查詢,慢查詢的相關信息被日志記錄起來,這個日志就叫慢查詢日志mysqldumpslow可以解析慢查詢日志文件并匯總其中內容

我們也可以查看慢查詢的時間(閾值),通過:

當,查詢的時間大于10秒并且開啟了慢查詢日志功能,這條sql就會被記錄在慢查詢日志中。

使用方法:

mysqldumpslow [options] [log_file...]?

如果有慢查詢的話,顯示如下:

mysqldumpslow會將相似查詢的分組并顯示摘要輸出,一般會把數字用“N”代替,字符串用“S”代替。

常用選項文件:

在使用-s,sort_type選項文件時,有以下的可選值:

t,at:按查詢時間或者平均查詢時間進行排序。

l,al:按鎖占用時間或者平均鎖占用時間排序。

r,ar:按照發送行數或者平均發送行數進行排序。

c:按照記數排序。

mysqlbinlog處理二進制日志文件:

當我們平時對數據庫的修改時,或者對數據進行增刪改時,都會被描述成一個‘事件’,每個‘事件’都會以二進制的形式被保存到一個日志文件中,這個文件就是服務器中的二進制日志文件,又稱Binary log或者binlog。

mysqlbinlog的作用:

以文本的形式讀取二進制文本中的內容。

注意:保存在默認數據目錄中:

Linux下的默認目錄:/var/lib/mysql

Windows下的默認目錄:C:\ProgramData\MySQL\MySQL Server 8.0\Data

這些binlog日志文件保存了具體的內容。

這里如果打開一個文件顯示如下:

常用選項:

mysqlbinlog有下面一些選項文件,可以通過命令行或者通過選項文件進行指定,在選項文件中通過[mysqlbinlog]或[client]組下進行指定:

mysqlslap-負載仿真客戶端

作用:

mysqlslap是一個診斷程序,用于模擬mysql服務器的客戶端,并報告每個階段的時間,就好比多個客戶端正在訪問服務器一樣。

使用方法:

mysqlslap可以使用以下語法:

mysqlslap [options];

注意事項:

1.可以通過--create或--query選項,指定包含SQL語句的字符串和包含sql語句的文件

2.如果指定一個包含sql語句的文件,默認情況每行必須包含一條語句

3.如果要把一條語句分為多行書寫,可以用--delimiter選項指定不同的分隔符。

4.不能在文件中包含注釋,因為mysqlslap不能解析注釋。

5.mysqlslap運行時分為三個階段:

? ? ? ? 5.1創建測試數據階段,創建用與測試的庫,表或者數據,這個階段使用單個客戶連接

? ? ? ? 5.2運行負載測試階段,這個階段可以使用許多客戶端連接。

? ? ? ? 5.3清理階段,執行刪除表,斷開連接層,斷開連接等操作,這個階段使用單個客戶端連接。

示例:

注意:圖片打錯了,應該是50個客戶端,每個客戶端發起200條語句。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95699.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#WPF實戰出真汁09--【消費開單】--選擇菜品

1、功能介紹當選擇一個空桌時,必須先開臺才能開單,可以先開臺,再開單,也可以開臺的同時開單當選擇一個用餐中的餐桌時,必須顯示該桌前面已經點好的菜品,同時可以繼續點餐或結賬所以無論哪個功能都涉及選擇菜…

大廠語音合成成本深度對比:微軟 / 阿里 / 騰訊 / 火山 API 計費拆解與技術選型指南

在 AI 配音、智能客服、教育音頻等場景爆發的當下,語音合成 API 已成為企業技術棧中的核心組件。然而,不同云廠商的計費規則差異顯著,短文本 / 長文本計費分離、預付費 / 后付費價格梯度懸殊、音色授權費暗藏成本陷阱等問題,常導致…

Flutter開發 網絡請求

HttpClient&#xff08;dart自有&#xff09; 1.get 點擊請求按鈕獲取數據&#xff0c;解析數據獲取單詞展示到屏幕上。class MyState extends State {String info "暫無數據";List<Widget> texts [];overridevoid initState() {super.initState();}override…

vscode中用python調用matlab的函數(環境安裝)

本實踐適用于WIN11-x64和ubuntu22.04-x64系統&#xff0c;其余系統和架構未驗證。 效果展示 1.環境要求 MATLAB Engine API for Python 的系統要求&#xff1a;參閱此官方文檔MATLAB 與 Python 的版本兼容性&#xff1a;參閱此官方文檔 2.安裝步驟 安裝Vscode&#xff08;不…

【數據分享】大清河(大慶河)流域上游土地利用

而今天要說明數據就是大清河&#xff08;大慶河&#xff09;流域上游土地利用。數據介紹大清河&#xff0c;又稱大慶河&#xff0c;作為海河流域的重要支流&#xff0c;其流域上游地區不僅是區域水資源調控的關鍵節點&#xff0c;更是生態保護與經濟發展的重要載體。以下從地理…

圖論——Djikstra最短路

原理解釋 首先解釋一下它大概的應用場景以及原理&#xff1a;現在有這么一張圖&#xff0c;圖上各點之間都有一定的邊權或者說是距離。給定你一個起點&#xff08;例如點1&#xff09;&#xff0c;讓你求這個點到圖上所有點的最短距離是多少&#xff1f; 這個問題比較平常&…

kafka初步介紹

Kafka角色介紹TopicTopic主題的意思&#xff0c;消費者必須指定主題用于的消息發送&#xff0c;生產者也必須指定主題用于消息的接收。topic只是邏輯上的劃分。partitionpartition是分區的意思&#xff0c;他的主要作用是將發送到一個topic的數據做一個劃分。如果有4個partitio…

windows10的vs2019編譯openssl靜態庫備忘

1、下載安裝openssl源碼2、官網下載安裝activeperl或Strawberry Perl。官網下載慢&#xff0c;網盤找找。使用中activeperl有些異常提示、缺模塊&#xff0c;最后使用了Strawberry Perl。3、安裝nasm。powershell使用choco install nasm -y 即可。powershell使用cd命令打開當前…

學習筆記與效率提升指南:編程、記憶與面試備考

在學習與工作中&#xff0c;高效的記錄習慣、針對性的記憶方法和實用的技能儲備&#xff0c;是提升效率的關鍵。本文結合編程學習、面試備考和英語單詞積累&#xff0c;整理一套可落地的學習思路&#xff0c;尤其適合編程初學者。 一、學習核心原則&#xff1a;高效優先&#x…

順豐面試題

1. 你擅長處理哪類問題推薦回答&#xff1a; "我比較擅長處理以下幾類前端問題&#xff1a;性能優化&#xff1a;包括加載優化&#xff08;代碼分割、懶加載&#xff09;、運行時優化&#xff08;減少重排重繪&#xff09;等復雜組件開發&#xff1a;如表單聯動、可視化圖…

Warmup_steps 設置經驗

文章目錄什么是 Warmup&#xff1f;實現示例科學設置 Warmup 的黃金法則直觀例子什么是 Warmup&#xff1f; Warmup 是一種學習率調度策略&#xff0c;在訓練初期逐步增加學習率&#xff08;LR&#xff09;&#xff0c;而不是直接使用目標學習率。它解決了兩個關鍵問題&#x…

vue一個超簡單的菜單欄伸縮示例

代碼<template><div class"container"><!-- 左側區域 --><div class"left-side" :style"{ width: leftWidth px }">左側內容</div><!-- 右側區域 --><div class"right-side" :style"{ l…

Spark學習(Pyspark)

&#xff08;1&#xff09;Spark基礎入門 ①什么是Spark Spark是一款分布式內存計算的統一分析引擎。其特點就是對任意類型的數據進行自定義計算。Spark可以計算&#xff1a;結構化、半結構化、非結構化等各種類型的數據結構&#xff0c;同時也支持使用Python、Java、Scala、R以…

PDF壓縮原理詳解:如何在不失真的前提下減小文件體積?

與直接刪除內容不同&#xff0c;良好的PDF壓縮能在大幅減小體積的同時&#xff0c;較好地保留原有文字清晰度和圖像質量&#xff0c;兼顧實用性與視覺效果。軟件操作十分直觀&#xff0c;僅需設置輸入文件與輸出路徑&#xff0c;點擊【開始壓縮】按鈕即可啟動處理。畫質壓縮等級…

從應用場景看國產化FPGA潛力,紫光同創研討會武漢·北京站回顧

八月&#xff0c;紫光同創 FPGA 技術研討會先后在武漢、北京舉行。作為紫光同創官方合作伙伴&#xff0c;ALINX 攜紫光同創 FPGA 開發板及行業解決方案亮相&#xff0c;與來自通信、工業控制、醫療、圖像視頻、消費電子等領域的近 200 位行業專家齊聚一堂&#xff0c;通過主題演…

安卓APK包體優化全攻略

目錄 正常默認打包流程&#xff08;以Android平臺為例&#xff09; 查看編輯器打包日志 壓縮圖片 壓縮網格模型 壓縮貼圖 壓縮音頻文件 只打64位包 最終大小 正常默認打包流程&#xff08;以Android平臺為例&#xff09; 準備工作&#xff1a; 確保已安裝最新版Unity H…

嵌入式學習日記(28)進程、線程

回收資源空間子進程回收策略1、wait阻塞回收&#xff1a;一般情況下父進程專門負責回收2、waitpid非阻塞回收&#xff1a;搭配輪詢方式回收3、不回收&#xff1a;子進程任務一致執行4、異步回收&#xff1a;子進程結束后通知父進程進行回收exec 函數族三種調用外部程序的方式#i…

測試用例的一些事項

為什么要寫測試用例&#xff1f;寫測試用例的原因是為了避免遺漏測試&#xff0c;我們要根據給的文檔將邏輯都表達出來&#xff0c;不能因為簡單而不寫&#xff0c;日后版本更新就知道自己哪些測了哪些沒測。在沒有文檔的時候測試用例該怎么寫&#xff1f;大家可以考慮安全測試…

當Java遇見AI:飛算驅動的個人博客介紹智能生成風暴

一、飛算JavaAI&#xff1a;重新定義個人開發的"智能魔法棒" 1.1 開發者需求變革&#xff1a;從"技術門檻"到"創意優先"的時代 在數字化浪潮席卷全球的今天&#xff0c;個人品牌建設已成為技術從業者、創業者乃至學生的剛需——無論是程序員分享…

小程序排名優化:用戶行為數據背后的提升密碼

用戶在小程序中的每一次點擊、每一次停留、每一次分享&#xff0c;都在產生著有價值的數據。這些看似零散的用戶行為數據&#xff0c;其實隱藏著提升小程序排名的密碼。平臺在判定小程序排名時&#xff0c;用戶行為數據是重要的參考依據&#xff0c;因為它直接反映了小程序對用…