MySQL Client中一些被遺忘的功能

2022-02-01 馬哥Linux運維

mysql client的一些命令確實有很多有意思的地方。這些「奇巧淫技」也確實很有用,方便日常的操作。\G、\c、\q、\P、\R這些常用的就不說了,其他的一些命令對我來說,根本不是被遺忘了,而是我小白了。那今天就填補一下這些小白。

如果不知道還有那些其他的mysql client命令,那麼請使用help或者?。

1、help,? 查看幫助文檔

仔細閱讀下面的command list!如果都看明白了,請繼續看下去,驗證一下是否我理解錯了或者你理解錯了,^.^

List of all MySQL commands:Note that all text commands must be first on line and end with ';'?         (\?) Synonym for `help'.clear     (\c) Clear the current input statement.connect   (\r) Reconnect to the server. Optional arguments are db and host.delimiter (\d) Set statement delimiter.edit      (\e) Edit command with $EDITOR.ego       (\G) Send command to mysql server, display result vertically.exit      (\q) Exit mysql. Same as quit.go        (\g) Send command to mysql server.help      (\h) Display this help.nopager   (\n) Disable pager, print to stdout.notee     (\t) Don't write into outfile.pager     (\P) Set PAGER [to_pager]. Print the query results via PAGER.print     (\p) Print current command.prompt    (\R) Change your mysql prompt.quit      (\q) Quit mysql.rehash    (\#) Rebuild completion hash.source    (\.) Execute an SQL script file. Takes a file name as an argument.status    (\s) Get status information from the server.system    (\!) Execute a system shell command.tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.use       (\u) Use another database. Takes database name as argument.charset   (\C) Switch to another charset.                Might be needed for processing binlog with multi-byte charsets.warnings  (\W) Show warnings after every statement.nowarning (\w) Don't show warnings after every statement.
For server side help, type 'help contents'

2、設置CLI提示\R, prompt
mysql>\R \u@\h [\d]>
PROMPT set to '\u@\h [\d]>'
msandbox@localhost [test]>

3、編輯模式\e,eidit

進入vi/vim中編輯sql,編輯完成之後保存,回到mysql CLI中,輸入「;」後按enter鍵即可執行剛才編輯的sql語句。

msandbox@localhost [(none)]>\euse test;select * from vvv limit 1;(wq保存代碼)
->;
msandbox@localhost [(none)]>\e->;Query OK, 0 rows affected (0.01 sec)+-+--+| id | name |+-+--+| 1 | sylar chen |+-+--+1 row in set (0.01 sec)

4、記錄操作日誌\T,tee

差不多就是linux tee命令的功能,把執行的sql語句以及輸出結果保存到指定的文件中。\t,取消把查詢和輸出結果記錄到文件中。

msandbox@localhost [test]>\T /tmp/sql.logLogging to file '/tmp/sql.log'

5、執行系統命令!, system
msandbox@localhost [test]>\! cat /tmp/sql.logmsandbox@localhost [test]>msandbox@localhost [test]>msandbox@localhost [test]>use testDatabase changedmsandbox@localhost [test]>select * from vvv;+-+--+| id   | name       |+-+--+|    1 | sylar chen ||   22 | chen       |+-+--+2 rows in set (0.00 sec)

6、查看當前連接的狀態信息\s,status
msandbox@localhost [test]>\s----/usr/local/sandbox/boxes/5.5.36/bin/mysql  Ver 14.14 Distrib 5.5.36, for linux2.6 (i686) using readline 5.1
Connection id: 22Current database: testCurrent user: msandbox@localhostSSL: Not in useCurrent pager: stdoutUsing outfile: '/tmp/sql.log'Using delimiter: ;Server version: 5.5.36-log MySQL Community Server (GPL)Protocol version: 10Connection: Localhost via UNIX socketServer characterset: utf8Db characterset: utf8Client characterset: utf8Conn. characterset: utf8UNIX socket: /tmp/mysql_sandbox5536.sockUptime: 3 days 3 hours 9 min 44 sec
Threads: 1 Questions: 190 Slow queries: 0 Opens: 38 Flush tables: 1 Open tables: 31 Queries per second avg: 0.000----

7、分頁顯示\P,pager
\P less     通過linux less方式顯示輸出結果\P more   通過linux more方式顯示輸出結果\P cat /tmp/page.txt 把輸出結果保存到/tmp/page.txt中再次數\p或者輸入\n取消把pager輸出。另外把結果輸出到 md5sum中,獲取md5值,可以用來比較不同select語句的執行結果是否相同。msandbox@localhost [test]>select * from vvv;9153498ba9729f0fcef990584c018562  -2 rows in set (0.00 sec)
msandbox@localhost [test]>select id,name from vvv;9153498ba9729f0fcef990584c018562 -2 rows in set (0.00 sec)

來源:
http://mdba.cn/2014/03/10/mysql-client%E4%B8%AD%E4%B8%80%E4%BA%9B%E8%A2%AB%E9%81%97%E5%BF%98%E7%9A%84%E5%8A%9F%E8%83%BD/


相關焦點

  • MySQL授權管理與結構分層
    ---> mysqld_safe ---->mysqldmysql.service ------> mysqld需要依賴於 /etc/my.cnf維護性任務我們一般分將參數添加到命令行中,
  • MySQL分支資料庫MariaDB之CentOS安裝教程
    1.1.4 測試登錄:mysql -u root –p查看埠是否開啟成功:netstat -anpt | grep mysqld1.2 配置UTF字符集編碼1)vi /etc/my.cnf在 [mysqld
  • Arduino+php+mysql--用開源硬體和軟體進行能源領域內的數據記錄
    概述由於發電技術目前正向使用更清潔、更智能的原料的方向發展,因此小規模的光電板陣列如雨後春筍般湧現。在這裡,TMP36 和 LED 的使用展示了一種簡單、經濟且容易重複的方式。TMP36 是一個特殊構造的電晶體。給它一個電壓,它會返回根據不同組合連接器上的外界溫度而不斷改變的另一個電壓。只需記錄輸出電壓並執行一些簡單的計算,就能找到以攝氏度或華氏度為單位的溫度。參見 參考資料 部分,以獲得有關此晶片以及如何將其連接到 Arduino 的幫助。
  • MySQL 5.7的新增功能白皮書(中文版)
    測試環境如下:關於MySQL 5.7 基準測試更多信息,請訪問:http://www.mysql.com/why-mysql/benchmarks/適用於特定測試應用案例的Sysbech基準測試工具是免費的,可以在這裡下載:http://dev.mysql.com/downloads/benchmarks.html原生JSON
  • Python爬蟲-扒一扒百度貼吧裡的email並保存到MySQL
    :https://dev.mysql.com/downloads/mysql/考慮到有些人像我當年一樣沒電腦只有一部android手機也寫了幾個月的代碼的情況下,在這裡我也說下如何用手機安裝MySQL(mariadb),請確認你的手機是android並且版本在5.x以上最好6.x首先在你手機安裝一個軟體-termux,你可以百度或者去google play下載
  • 資料庫基礎:mysql主從集群搭建
    還好mysql資料庫提供了一種主從備份的機制,其實就是把主資料庫的所有的數據同時寫到備份的資料庫中。實現mysql資料庫的熱備份。 要想實現雙機的熱備,首先要了解主從資料庫伺服器的版本的需求。要實現熱備mysql的版本都高於3.2。還有一個基本的原則就是作為從資料庫的數據版本可以高於主伺服器資料庫的版本,但是不可以低於主伺服器的資料庫版本。
  • customer 和 client,差別在哪呢?
    英文中有許多意思類似,但用法不太一樣的單詞,讓我們非常苦惱。
  • MySQL進階系列:主從複製原理及其配置
    mysql複製原理原理:(1)master伺服器將數據的改變記錄二進位binlog日誌,當master上的數據發生改變時,則將其改變寫入二進位日誌中;(2)slave伺服器會在一定時間間隔內對master
  • MySQL 8.0 中的索引可以隱藏了…
    ALTER INDEX 命令中使用 VISIBLE 或 INVISIBLE 關鍵字。,可以從 INFORMATION_SCHEMA.STATISTICS 表,或者 SHOW INDEX 命令輸出中獲得。
  • IDEA下創建SpringBoot+MyBatis+MySql項目實現動態登錄與註冊功能
    spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>2.3、設置application.yml文件與pplication.properties文件在resources目錄下新建yml文件,用於存放資料庫連接需要的一些數據
  • 為靜態博客增加評論功能,除了 Disqus 有無其他選擇?
    現如今,有追求的程式設計師一般都會有自己的博客,而博客系統中,大家越來越喜歡靜態博客。博客,除了博主寫文章,和讀者交流也很重要,因此評論功能不能少。在國外,一般都使用大名鼎鼎的 Disqus,然而在國內沒法訪問。因此,出現了很多替代方案。比如基於 GitHub issue 做評論功能等。
  • MySQL Innodb 如何找出阻塞事務源頭 SQL
    然後在第二個連接會話中執行更新腳本,構造被阻塞的案例mysql> select connection_id() from dual;+--+| connection_id() |+--+|               9 |+--+1 row in set (0.00 sec)
  • python MySQL中 ​AUTO INCREMENT 欄位
    AUTO INCREMENT 欄位Auto increment 會在新記錄插入表中時生成一個唯一的數字
  • 艾編程教程:Linux環境下MySQL安裝
    >useradd mysql2)mysql 目錄改為 mysql 讀寫權限chown -R mysql:mysql /var/lib/mysql --如果沒有目錄就建立一下chown -R mysql:mysql /usr/local/mysql
  • MySQL資料庫測試題
    >資料庫中,以下哪條語句是取第2頁中的數據?(難度A)A、在DOS提示符下輸入以下命令mysql -uroot -p1234 test<d:/db.sql B、在DOS提示符下輸入以下命令mysqldump -uroot -p1234 test<d:/db.sql
  • MySQL DBA好幫手--dbm
    ini #cat /etc/my-3306.cnf [mysqld] # basic user = mysql3306 basedir = /usr/local
  • MySQL 是怎麼死鎖的?
    ,但id=5的記錄已經被鎖住了,鎖的等待在id=8的這裡不信請看Session3:mysql> select * from t3 where id=5 for update;鎖等待中Session4:mysql> select * from t3 where id=10 for update;+----+--
  • 青銅到王者,快速提升你 MySQL 資料庫的段位!
    從四大模塊中,抽離7個部分給大家做分析第一部分:倔強青銅篇剛接觸 MySQL 資料庫的小白首先要了解,MySQL 常用操作命令以及 MySQL 各個版本的特點。從官方 5.1 到 MySQL 5.7,每個版本之間的跨度經歷了哪些功能和性能上面的提升。
  • 一則MySQL慢日誌監控誤報的問題分析
    之前因為各種原因,有些報警沒有引起重視,最近放假馬上排除了一些潛在的人為原因,發現資料庫的慢日誌報警有些奇怪,主要表現是慢日誌報警不屬實,收到報警的即時通信提醒後,隔一會去資料庫裡面去排查,發現慢日誌的性能似乎沒有那麼差(我設置的一個閾值是60)。
  • MySQL中InnoDB-Cluster 日常運維掃盲-愛可生
    輸出當前 mysql router 路由信息,包含讀寫埠,版本等信息。 當然也可以從 mysql router 層來驗證效果。如下圖,分別獲取寫節點和讀節點的數據一致性參數結果。