MySQL 之自帶工具使用介紹

在MySQL中,自帶了許多功能比較強大的工具,如mysql、mysqladmin、mysqldump等。
一、mysql命令
Mysql命令是用的最多的一個命令工具了,爲用戶提供一個命令行接口來操做管理MySQL 服務器。能夠經過mysql --help來查看其詳細使用方法。html

mysql命令選項 做用 說明
-u 指定鏈接數據庫時使用的用戶
-p 指定用戶的密碼 能夠-p後面直接寫密碼,也能夠不寫,進行交互式輸入密碼,推薦後者
-h 指定要登陸的主機 可選,若是爲空,則登陸本機
-P 指定要鏈接的端口 可選,默認是3306
-e 能夠經過-e命令直接執行SQL語句,而不用進入數據庫 免交互登陸數據庫執行SQL語句,一般在腳本中使用
-D 指定要登陸到哪一個庫 默認不會登陸到庫,能夠省略此選項,直接寫庫名
-E 查詢到的結果以行來顯示 相似於每條SQL語句後面加「\G」
-f 即便出現SQL錯誤,也強制繼續 好比在不登錄數據庫執行刪除庫的操做會有一個交互式的確認操做,可使用此選項來避免交互式
-X 將查詢到的數據導出位xml文件 導出的文件在windows系統中可使用excel表格打開
-H 將查詢到的數據導出位html文件 導出的文件在windows系統中可使用瀏覽器打開
--prompt 定製本身的MySQL提示符顯示的內容 默認登登陸到MySQL後的提示符是「mysql >」,可使用該選項定製提示符
--tee 將操做數據庫全部輸入和輸出的內容都記錄進文件中 在一些較大維護變動的時候,爲了方便被查,能夠將整個操做過程當中的輸出信息保存到某個文件中

1)-e、-u、-p、-h、-P、 等選項的使用語法mysql

[root@mysql ~]# mysql -uroot -p123 -h 192.168.171.135 -P3306 mysql -e "show tables;";
# 上述命令的含義以下:
# -uroot:使用root用戶
# -p123.com:密碼是123.com
# -h:登陸的主機地址是192.168.20.2
# -P:登陸的端口是3306
# mysql:登陸到庫名爲mysql的庫中
# -e:後面是SQL語句
# 總結:使用密碼爲123.com的root用戶,經過3306端口鏈接192.168.20.2的mysql庫,查詢mysql庫中有哪些表。

返回結果以下:
MySQL 之自帶工具使用介紹
2)--prompt使用方法sql

[root@mysql ~]# mysql -uroot -p123.com --prompt="\\u@\\h: \\d \\r:\\m:\\s> "
#上述參數解:\u 表示用戶名,  \h 表示主機名, \d 表示當前數據庫(none表示沒有在任何庫中);
# \R小時  24小時制 \r小時(12小時制),\m分種,\s秒,\R小時  24小時制

返回結果以下:
MySQL 之自帶工具使用介紹
上述方式每次鏈接都要寫那些字符進行定製,很是麻煩,能夠將其寫入配置文件中的clinet字段下,以後再登陸就能夠省略了,以下:數據庫

[client]      #注意寫在client字段
prompt="\\u@\\h: \\d \\R:\\m:\\s> "         #寫入該行
# 注:無需重啓MySQL服務,每次客戶端鏈接都會去從新讀取該配置
[mysqld]
             ..........#省略部份內容
#要記得重啓服務喲

再次鏈接就不用再指定了,以下:
MySQL 之自帶工具使用介紹
3)--tee使用方法vim

[root@mysql ~]# mysql -uroot -p123 --tee=/tmp/opt.log
root@localhost: (none) 22:48:18> show database;
root@localhost: (none) 22:48:24> show databases;

以下(注意屏幕打印的提示信息以及錯誤信息):
MySQL 之自帶工具使用介紹
如今查看--tee指定的log文件,以下:
MySQL 之自帶工具使用介紹
應該能夠從上面的文件中看出,記錄的是鏈接到數據庫後,用戶進行的全部操做命令及輸出信息。windows

一樣,「--tee」這個配置項也能夠寫入my.cnf這個主配置文件中的client字段下,以下:瀏覽器

[root@mysql ~]# vim /etc/my.cnf 
[client]                    ...........省略部份內容
prompt="\\u@\\h: \\d \\R:\\m:\\s> "
tee=/tmp/opt.log

4)-H選項的使用方式緩存

[root@mysql ~]# mysql -H -uroot -p123 -e "select * from mysql.user" > a.html
#將查詢的結果重定向輸出到a.html文件中
[root@mysql ~]# sz a.html

用瀏覽器打開下載的文件顯示以下:
MySQL 之自帶工具使用介紹
一樣,-X選項的使用方式也同樣。
二、mysqladmin命令工具
mysqadmin,顧名思義,提供的功能都是與MySQL 管理相關的各類功能。如MySQL Server狀態檢查,各類統計信息的flush,建立/刪除數據庫,關閉MySQL Server 等等。mysqladmin所能作的事情,雖然大部分均可以經過mysql鏈接登陸上MySQL Server 以後來完成,可是大部分經過mysqladmin來完成操做會更簡單更
方便。
mysqladmin後面能夠接選項,也能夠接命令,這裏就不說選項了,主要說一下命令
服務器

命令字 做用
create databasename 建立一個庫
drop databasename 刪除一個庫
status 查詢MySQL的基本狀態(顯示的信息有限 )
extended-status 查詢服務器的詳細狀態信息(相似於在數據庫中執行show status;)
flush-hosts 刷新服務器緩存
flush-logs 刷新二進制日誌文件(若是二進制日誌功能開啓,那麼執行這個操做會生成新的二進制日誌文件)
flush-status 刷新狀態變量
flush-tables 刷新全部表
flush-threads 刷新全部線程緩存
flush-privileges 從新加載受權表
processlist 查看當前鏈接數據庫的全部ID詳細信息
kill id 殺掉某個或多個鏈接ID(通常須要先使用processlist查看出ID列表,而後根據ID將其kill掉 )
ping 檢測某個MySQL服務是否處於啓動狀態
password 修改用戶密碼
shutdown 關閉MySQL服務
start-slave 開啓主從複製
stop-slave 關閉主從複製
variables 查詢MySQL服務中的全部變量
version 查詢MySQL的版本詳細信息

1)status命令字的使用ide

[root@mysql ~]# mysqladmin -uroot -p123 status

返回結果以下:
MySQL 之自帶工具使用介紹
2)ping命令字的使用
服務啓動狀態下執行ping命令:

[root@mysql ~]# mysqladmin -uroot -p123 -h 192.168.171.135 ping

中止服務後再執行ping命令:

[root@mysql ~]# mysqladmin -uroot -p123 -h 192.168.171.135 ping

MySQL 之自帶工具使用介紹
3)processlist、kill id,id..命令字的使用

[root@mysql ~]# mysqladmin -uroot -p123 processlist

MySQL 之自帶工具使用介紹
使用kill命令字將其鏈接ID殺掉:

[root@mysql ~]# mysqladmin -uroot -p123 kill 5

三、mysqldump
這個工具其功能就是將MySQL Server中的數據以SQL 語句的形式從數據庫中dump 成文本文件。mysqldump是作爲MySQL 的一種邏輯備份工具,在我以前的博文中有這個工具的使用方法:MySQL的備份與恢復詳解
四、mysqlbinlog
mysqlbinlog程序的主要功能就是分析MySQL Server 所產生的二進制日誌(也就是binlog)。
經過mysqlbinlog,咱們能夠解析出binlog中指定時間段或者指定日誌起始和結束位置的內容解析成SQL 語句。

[root@mysql data]# mysqlbinlog binary_log.000012   #指定二進制日誌文件便可

MySQL 之自帶工具使用介紹

相關文章
相關標籤/搜索