MySQL常用命令彙總(偏向運維管理)

来源:https://www.cnblogs.com/xuliuzai/archive/2018/10/30/9878586.html
-Advertisement-
Play Games

基礎部分 1. select @@version; ##查詢當前mysql的版本. 2. show variables like 'port';##查看mysql實例的埠。 3. show variables like 'socket';##查看實例的socket數據。 4. show varia ...


基礎部分

1. select @@version; ##查詢當前mysql的版本.

2. show variables like 'port';##查看mysql實例的埠。

3. show variables like 'socket';##查看實例的socket數據。

4. show variables like 'datadir';##查看實例的數據路徑。

5. show databases;   ##顯示所有資料庫名的命令 。

6. desc tablename;   ## 顯示表結構和列結構的命令。

7. show processlist \G;##顯示正在執行的線程。

8. explain ##查看語句的執行計劃。

9. show index from table_name ##查看表的索引情況。

10. select * from STATISTICS where table_name='XXX'\G ##查看表的統計信息。

11. select @@max_allowed_packet; ## 查詢定義的packet大小。

12. show master status;##查看master狀態。

      show slave status ;##查看slave狀態。

13. show master logs;##查看所有的log文件,在主伺服器上執行。

14. purge binary logs to 'mysql-bin3306.000003';  #mysql-bin3306.000003之前的日誌被purge。

15. show warnings; ##顯示最近的警告詳情。

16. show variables \G; ##查看當前mysqld的所有參數,包括預設值。

17. show grants for 'username'@'hostip' \G; ##查看某一個用戶的許可權,請替換參數username 和 hostip。

18.  show create table tablename \G; ##查看某表的創建腳本

實例參數部分

19. show variables like 'log_slave%' \G; ##指定條件的參數設置查詢,例如查詢以log_slave開頭的參數設置。

20. show variables like 'slow_query_log';##查看是否開啟了慢查詢日誌;ON代表開啟。可以線上打開。set global slow_query_log = 1;

21. show variables like 'slow_query_log_file';## 查看慢查詢日誌的路徑。

22. show variables like 'long_query_time'; ##查看慢查詢定義的閾值,單位是秒。記錄的查詢是大於該值,不包括該值。

23. show variables like 'log_output'; ##查看日誌的輸出格式(file或table)。

24. show variables like 'log_timestamps';##查看日誌的時間信息,UTC時間或者SYSTEM時間。

25. show variables like 'log_slow_slave_statements';##查看從伺服器是否開啟慢查詢日誌,ON代表開啟。

26. show variables like 'log_queries_not_using_indexes';##將沒有使用索引的SQL語句記錄到慢查詢日誌中。

27. show variables like 'log_throttle_queries_not_using_indexes';##集合上面的參數一起使用,限制每分鐘內,在慢查詢日誌中,記錄沒有使用
索引的次數。避免日誌快速增長。

28. show variables like "default%tmp%";查看創建的臨時表的存儲引擎類型。

29. show variables like 'innodb_log_file_size';##查詢log文件大小。

30. show variables like 'innodb_page_size'; ##查詢頁的大小。一旦資料庫通過innodb_page_size設置完成,則後續無法更改。innodb_page_size
是針對普通表的,壓縮表不受限制。

31. show variables like 'innodb_buffer_pool_size';##查看緩衝池的大小,每次讀寫數據都是通過buffer pool;當buffer pool中沒有所需的數據
時,才去硬碟中獲取。該值設置的越大越好。buffer pool 也是以頁(page)為單位的,且大小和innodb_page_size一致。

32. show variables like 'innodb_buffer_pool_instances'; ##設置多少個緩衝池。設置多個instance可將熱點打散,提高併發性能(建議設置成cpu
個數值)

33. show engine innodb status \G;##查看buffer pool的狀態。

34. set global innodb_buffer_pool_size=2*1024*1024*1024;##線上調整innodb_buffer_pool_size。MySQL 5.7之前的版本,修改該值,需要重啟。

35. show variables like 'innodb_buffer_pool_dump_at_shutdown'; ##在MySQL 5.6 以後,可以在停機的時候dump出buffer pool的數據,然後在
啟動的時候Load進buffer pool。該功能可以在MySQL啟動時自動預熱,無需人工干預。

36. show variables like 'innodb_buffer_pool_dump_pct';##dumpd 百分比,是每個buffer pool文件,而不是整體。

37. show variables like 'innodb_buffer_pool_load_at_startup';## 啟動時載入dump的文件,恢復到buffer pool中。dump的越多,啟動的越慢。

38. select * from innodb_lock_waits;##查看鎖的信息,在資料庫sys下執行。

39. show variables like 'transaction_isolation'; ##查看隔離級別

40. set transaction_isolation='read-committed'; ##設置隔離級別。

41.show variables like 'innodb_print_all_deadlocks';##設置為ON,表示將死鎖信息列印到err_log中。

42.show variables like "%innodb_flush_log_at_timeout%";##master thread 每秒刷新redo的buffer到logfile。5.7版本可以設置刷新間隔時間,
預設是1秒。

43. show variables like 'binlog_format';##查看binlog的類型。statement 記錄SQL語句;ROW 記錄SQL語句操作的那些行(行的變化);mixed 混
合statement 和 Row 格式(不推薦)。

MHA 常用命令 

44. masterha_check_ssh --conf=/etc/masterha/app1.conf    ##檢查MHA集群SSH配置。

45. masterha_check_repl --conf=/etc/masterha/app1.conf   ##檢查整個集群的複製狀況。

46. masterha_check_status --conf=/etc/masterha/app1.conf ##檢查MHA Manager的狀態:如果正常,會顯示"PING_OK",否則會顯示"NOT_RUNNING" ,這代表MHA監控沒有開啟。

47. nohup masterha_manager --conf=/etc/masterha/app1.conf --remove_dead_master_conf --ignore_last_failover < /dev/null > /var/log/masterha/app1/manager.log 2>&1 & ###監控進程通過nohup管理,可以通過jobs查看後臺進程。

48. show slave hosts;##在master節點上執行,查看Slave節點數據。

50. CHANGE MASTER TO MASTER_HOST='172.XXX.XXX.XXX',MASTER_USER='replname',MASTER_PASSWORD='pwd',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154; ##change master 示例

51. 若在Slave機器上對資料庫進行修改或者刪除,會導致主從的不一致,需對Slave機器設置為read_only = 1 ,讓Slave提供只讀操作。

   註意: read_only 僅僅對沒有SUPER許可權的用戶有效(即 mysql.user表的Super_priv欄位為Y),一般給App 的許可權是不需要SUPER許可權的。參數super_read_only 可以將有SUPER許可權的用戶也設置為只讀,且該參數設置為ON 後, read_only 也跟著自動設置為ON。

52. show variables like "server_uuid";## 查看UUID。 GTID(G lobal T ransaction Id entifier) 全局事物ID。GTID = Server_UUID +
Transaction_ID 其中 Server_UUID 是全局唯一的,Transaction_ID 是自增的。

53. show variables like "%gtid%";##查看gtid相關數據及配置

54.從伺服器跳過一個錯誤的事務
    步驟1: 關閉複製
    stop slave;
    步驟2 : 設置 gtid_next 為回放失敗的gtid
    set session gtid_next='4e659069-3cd8-11e5-9a49-001c4270714e:1'; #在session里設置gtid_next,即跳過這個GTID
    步驟3 : 執行一個空的事物,讓回放失敗的gtid對應到這個空的事物
    begin;
    commit;
    步驟4 : 還原gtid_next為automatic
    SET SESSION GTID_NEXT = AUTOMATIC; #把gtid_next設置回來
    步驟5: 開啟複製
    start slave;

55. 通過GTID的複製都是沒有指定MASTER_LOG_FILE和MASTER_LOG_POS的,所以通過GTID複製都是從最先開始的事務開始,除非在自己的binlog裡面有執行過之前的記錄,才會繼續後面的執行。Slave如何跳過purge的部分,而不是在最先開始的事務執行。
     步驟1:在主上執行,查看被purge的GTID
     show global variables like 'gtid_purged';

     以下步驟在從上執行,跳過這個GTID:
     步驟2
    stop slave;
    步驟3
    reset master;
    步驟4
    start slave;

其他部分

56. show binlog events in 'mysql-bin.000008'; ##查看指定binlog中的內容。

57. flush binary logs;#刷新日誌,並且會產生一個新的日誌文件。

58. show variables like "binlog_rows_query_log_events";##設置為ON,可以在ROW格式下,看到SQL的信息。

60. show variables like "binlog_cache_size";##binlog預設寫入到binlog_cache中,系統預設是32K,當有一個大的事務時(幾百兆),記憶體中顯然
放不下那麼多binlog,所以會記錄到磁碟上。

61. show global status like 'binlog_cache_disk_use';##記錄了使用臨時文件寫二進位日誌的次數。註意:寫日誌本來就停滿的,如果cache寫不下,
再寫入磁碟,然後再寫binlog,就是寫入2次磁碟,會更慢。如果參數binlog_cache_disk_use次數很多,就要看一下binlog_cache_size設置是否太小,
或者事務本身是否太大。

62.xtrabackup 只能備份innodb存儲引擎表(用的較少);innobackupex可以備份其他存儲引擎(含innodb)。innobackupex在xtrabackup的基礎上做
了包裝,可以相容各種存儲引擎。

63 .mysqldump重要參數 --all-databases :備份所有的資料庫;--databases DB1 [DB2 DB3] :備份指定的資料庫;--single-transaction : 在一個
事物中導出,確保產生一致性的備份,當前只對innodb支持;--master-data : 備份的時候dump出CHANGE MASTER 信息(file 和 pos),可供主從複製
的時候使用, 預設值為1,當值設置為2 的時候,也會dump出信息,但是會被註釋掉 。

64. show variables like '%slave_parallel_workers%';##從資料庫用來還原的併發線程數。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天是開始的第一天,額,沒什麼儀式。舍友偶然間提醒我,應該把學習的東西,做一下規劃和整理。我想一想也是對的。所以開通了這個。希望以後回來可以看看自己曾經的幼稚,那證明瞭我不斷在學習在進步。最近在準備Captures,所以今天主要是刷一下題。偶爾有的題問到了NAT所以突然想起來關於linux的三種網路 ...
  • DNS (domain name server/system) 1.基本信息 網路中數據通信依賴ip地址 測試:手動將dns服務地址改為空值,通過ip和功能變數名稱分別測試網路的聯通性 FQDN 完全功能變數名稱(完全正式功能變數名稱標識) http://www.baidu.com. www baidu com . www ...
  • USERNAME [a-zA-Z0-9._-]+ USER %{USERNAME} INT (?:[+-]?(?:[0-9]+)) BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+))) NUMBER (?:% ...
  • 1.查詢防火牆狀態 service iptables status 2.開啟防火牆 service iptables start 3.關閉防火牆 service iptables stop 4.重啟防火牆 service iptables restart 5.永久關閉防火牆 chkconfig ip ...
  • 服務端處理網路請求的典型過程: 處理步驟包括: 獲取請求數據,客戶端與伺服器建立連接發出請求,伺服器接受請求(1 3)。 構建響應,當伺服器接收完請求,併在用戶空間處理客戶端的請求,直到構建響應完成(4)。 返回數據,伺服器將已構建好的響應再通過內核空間的網路 I/O 發還給客戶端(5 7)。 設計 ...
  • 數據訪問代碼是最底層的代碼,Linq也是基於基本的資料庫查詢的基礎上進行編寫,EF框架也是,所以瞭解底層代碼對我們開發有一個很客觀的幫助,如果哪天沒有網,沒有框架一樣可以進行開發數據訪問,接下來就介紹幾種方法。 第一個是數據閱讀器:簡單的瞭解一下什麼是數據閱讀器,通俗的說 數據閱讀器是 只讀 只取 ...
  • Redis Watch 命令 作用: 用於監視一個(或多個) key ,如果在事務執行之前這個(或這些) key 被其他命令所改動,那麼事務將被打斷。 用法: Redis Unwatch 命令 作用: 用於取消 WATCH 命令對所有 key 的監視。 用法: Redis Multi 命令 作用: ...
  • [20181031]12c 線上移動數據文件.txt--//12c以前,移動或者改名數據文件是一項比較麻煩的事情,至少要停一下業務.而12c支持線上移動或者改名數據文件,並且有點不可思議--//的是這個操作可以在非歸檔模式下完成.鏈接有人問這個安全性的問題,鏈接http://www.itpub.ne ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...