mysql5.5客户端_MySQL 5.5/5.6——概述 MySQL 客户端程序
本文內容 mysql
mysqladmin
mysqlcheck
mysqldump
mysqlimport
mysqlshow
mysqlslap
參考資料
mysql
mysql 是一個可以輸入行的 SQL 外殼,輸入行可以編輯。它支持交互和非交互。當使用交互式,查詢結果以一個 ASCII 表格式來顯示。當使用非交互時(例如,作為過濾),查詢結果以 tab 分隔格式顯示。輸出格式可以通過命令行選項來改變。如下所示:
shell> mysql db_name;
或
shell> mysql --user=user_name --password=your_password db_name;
鍵入 ;、\g 或 \G,按回車,語句就會執行。
也可以執行一個腳本文件的語句,如下所示:
shell> mysql db_name < script.sql > output.tab
在 Unix 系統上,mysql 客戶端會向歷史文件寫入執行語句記錄。
mysqladmin
mysqladmin 是在客戶端執行管理性的操作。可以使用該命令檢查服務配置和當前狀態,以及創建和刪除數據庫等等。如下所示:
shell> mysqladmin [options] command [command-arg] [command [command-arg]] ...
mysqlcheck
mysqlcheck 執行表的維護:檢查、修復、優化,或分析。
當執行該命令時,表會被鎖定(只讀),因此,對其他會話來說不可用。表維護操作很耗時,特別是對大表來說。如果你使用? --databases 或 --all-databases 選項來處理一個或多個數據庫的所有表,mysqlcheck 可能會花很長時間。
mysqlcheck 與 myisamchk,但是運行不同。主要的不同是,mysqlcheck 只有當 mysqld 服務運行時才能使用,而 myisamchk 不需要。使用 mysqlcheck 的好處是不用停止服務就可以執行表維護。
mysqlcheck 以方便的方式使用 SQL 語句 CHECK TABLE、REPAIR TABLE、ANALYZE TABLE 和 OPTIMIZE TABLE。確定你想執行哪個語句,之后,該語句發送給服務器來執行。
MyISAM 存儲引擎支持所有四種維護操作,因此,mysqlcheck 可以被用于在 MyISAM 表上執行任何的一個。其他存儲引擎不能全支持。此時,會顯示錯誤信息。例如,若 test.t 是一個 MEMORY 表,檢查會產生如下結果:
shell> mysqlcheck test t
test.t
note : The storage engine for the table doesn't support check
調用 mysqlcheck 一般有三個方式:
shell> mysqlcheck [options] db_name [tbl_name ...]
shell> mysqlcheck [options] --databases db_name ...
shell> mysqlcheck [options] --all-databases
如果沒有在 db_name 后指定任何表名,或使用 --databases 或 --all-databases 選項,那么將檢查整個數據庫。
與其他客戶端程序相比,mysqlcheck 有一個的特別功能。通過重新命名為二進制可以改變檢查表的默認行為。如果你期望你有個默認修復表的工具,那么你只需復制 mysqlcheck,并重新命名為 mysqlrepair,或用符號連接。如果調用 mysqlrepair,它就會修復表。
mysqldump
mysqldump 最初是 Igor Romanenko 編寫的備份程序。為了備份來轉儲(dump)一個數據庫或數據庫集合,傳輸到另一個 SQL 服務(不必是 MySQL 服務)。轉儲典型地包含創建表,填充表的 SQL 語句,或兩者同時。mysqldump 也用來產生 CSV 文件,其他分隔文本,或 XML 格式。
將 MySQL 數據庫轉儲到一個文件(例如SQL語句或tab分隔符文本文件)的客戶程序。
mysqldump 要求至少 SELECT 權限(用來轉儲表),SHOW VIEW 權限(用來轉儲視圖),以及 LOCK TABLES 權限(如果沒有使用 --single-transaction 選項)。
如果備份,但所有表都是 MyISAM 表,可以考慮 mysqlhotcopy,因為,它可以更快地完成備份和恢復。
調用 mysqldump 有三個方式:
shell> mysqldump [options] db_name [tbl_name ...]
shell> mysqldump [options] --databases db_name ...
shell> mysqldump [options] --all-databases
如果沒有在 db_name 后指定任何表名,或使用 --databases 或 --all-databases 選項,那么將轉儲整個數據庫。
默認情況下,mysqldump 不會轉儲 INFORMATION_SCHEMA 數據庫。但可以在命令行顯式指定。在 MySQL 5.5 之前,mysqldump 會忽略 INFORMATION_SCHEMA 數據庫,即便你在命令行顯式指定。
mysqldump 不會轉儲 performance_schema 數據庫。
MySQL 5.5.25 之前的版本,mysqldump 不會轉儲 general_log 或 slow_query_log 表。MySQL 5.5.25 的轉儲包含重新創建這些表的語句,這樣,重新加載轉儲文件后,它們不會丟失。日志表的內容不會被轉儲。
mysqldump 也不會轉儲 MySQL Cluster ndbinfo 信息數據庫。
mysqlimport
mysqlimport 為 LOAD DATA INFILE SQL 語句提供一個命令行接口。如下所示:
shell> mysqlimport [options] db_name textfile1 [textfile2 ...]
在命令行上指定的每個 textfile,mysqlimport 從文件名去掉擴展名,并使用該結果來確定表名,將其導入到文件內容。例如,名為 patient.txt、patient.text,所有的 patient 將被導入到一個名為 patient 的表。
mysqlshow
mysqlshow 用來快速查看已存在的數據庫,及其表,列或索引。
mysqlshow 為很多 SQL SHOW 語句提供了一個命令行接口。如下所示:
shell> mysqlshow [options] [db_name [tbl_name [col_name]]]
若沒指定數據庫,則顯示所有數據庫。
若沒指定表,則顯示數據庫中所有的表。
若沒指定列,則顯示表的所有列和類型。
可以在參數中使用通配符(*、?、%、_)。
mysqlslap
mysqlslap 是診斷程序,用于模擬客戶端加載,并報告每個階段的時間。如果是多客戶端正在訪問服務,那么該命令很有用。如下所示:
shell> mysqlslap [options]
客戶端命令可以通過命令的 "--help" 選項,查看命令的選項列表。
參考資料
總結
以上是生活随笔為你收集整理的mysql5.5客户端_MySQL 5.5/5.6——概述 MySQL 客户端程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ENSP配置 实例十一 综合实验
- 下一篇: 2013年蓝桥杯软件大赛预赛java本科