mysql程序之概览(一)

mysql 命令行程序

4.1mysql程序概覽
---------------------
mysql cluster program在第十八章講解

多數mysql程序都會提供一個--help選項

服務器端的程序
mysqld
    守護進程;mysql server;要想使用mysql客戶端程序,mysqld必須運行起來;
mysqld_safe 
    服務器啟動腳本
mysql.server 
    服務器啟動腳本。它調用mysqld_safe去啟動mysql服務器。
    This script is used on systems that use System V-style run directories containing scripts that start system services for particular run levels.
mysqld_multi
    一個可以啟動或者停止多個mysql服務的腳本

安裝相關的程序
comp_err 
    mysql構建或者安裝的過程中使用;它從出錯的源文件中編譯出錯誤信息文件;
mysql_install_db
    初始化mysql的數據目錄;創建"mysql"數據庫;使用默認的權限初始化"mysql"數據庫的授權表;設置InnoDB system tablespace;通常只在mysql安裝的時候執行一次;
mysql_plugin
    配置mysql服務器的插件
mysql_secure_installation
    增強安裝的安全性
mysql_ssl_rsa_setup
    創建SSL證書;創建key files;創建RSA密鑰對;(如果前面這些文件丟失的話);
mysql_tzinfo_to_sql
    使用系統的zoneinfo數據庫填充"mysql"數據庫的time zone表
mysql_upgrade
    更新操作相關

客戶端程序
mysql 
    和服務器進行交互的命令行工具;交互式輸入和執行語句;批量輸入寫在文件中的語句;
mysqladmin 
    進行管理員操作的客戶端;例如:創建或者刪除數據庫;重新裝載授權表;將表寫到磁盤;重新打開日誌文件;從服務器提取版本、進程、狀態等信息;
mysqlcheck
    一個table-maintenance的用來檢測、修復、分析和優化表的客戶端
mysqldump
    將數據庫導入到sql文件、文本文件或者XML文件的客戶端
mysqlimport
    使用LOAD DATA INFILE命令導入文本文件到表的一個客戶端
mysqlpump
    將mysql數據庫導入到SQL文件的客戶端
mysqlshow
    展示數據庫、表、字段、索引信息的客戶端
mysqlslap

管理和工具程序
innochecksum
    離線的innodb校驗工具
myisam_ftdump
    展示myisam表中的全文索引信息的工具
myisamchk 
    一個描述、檢查、優化、修復myisam表的工具
myisamlog
    處理myisam表的日誌文件的工具
myisampack
    將mysisam表壓縮成小的只讀的表的工具
mysql_config_editor
    允許你講授權證書存放到.mylogin.cnf文件
mysqlbinlog 
    從二進制日誌讀取執行語句
mysqldumpslow
    讀取和summarize慢查詢日誌

程序開發工具
mysql_config
    編譯mysql程序的時候,用它生成選項值
my_print_defaults
resolve_stack_dump

其他
lz4_decompress
perror
replace
resolveip
zlib_decompress

4.2使用mysql程序
---------------------

    4.2.1調用mysql程序
    ++++++++++++++++++++
    選項以 - 或者 -- 開始
    第一個非選項參數會被當做數據庫名字:mysql --user=root test (test將會被解釋為數據庫名字)
    一些選項對許多mysql程序都適用:--host(-h) --user(-u) --password(-p) 

    4.2.2連接mysql服務器
    ++++++++++++++++++++
    shell> mysql 
    沒有指定參數的情況下:默認主機名是localhost; 默認的用戶在Windows下是ODBC在Unix下是登錄用戶名;    沒有密碼(mysqladmin mysqldump mysqlshow等命令一樣)

    兩種等價的用法
    shell> mysql --host=localhost --user=myname --password=mypass mydb (--password=和密碼之間必須沒有空格)
    shell> mysql -h localhost -u myname -pmypass mydb (-p和密碼之間必須沒有空格)

    上面的方法會暴露密碼,建議使用下面的,mysql會提示輸入密碼
    shell> mysql --host=localhost --user=myname --password mydb
    shell> mysql -h localhost -u myname -p mydb 

    在一些系統中,mysql使用的用來提示輸入密碼的library routine會將密碼長度限制為8位;mysql本身對密碼的長度是沒有限制的;
    為了避免麻煩,可將密碼設置為不超過8位或者寫到一個文件裡邊;

    在Unix系統中,主機名localhost的處理是很特別的:不是基於網絡程序,而是使用Unix套接字文件,甚至在使用--port選項指定了端口的情況下也還是這樣;
    為了確保能夠對本機發起TCP/IP連接,需要使用127.0.0.1或者明確指定協議
    shell> mysql --host=127.0.0.1
    shell> mysql --protocol=TCP

    使用IP V6
    shell> mysql --host=::1

    遠程連接通常使用的是TCP/IP連接 
    shell> mysql --host=remote.example.com
    shell> mysql --host=remote.example.com --port=13306

    下面這條命令中,程序使用套接字文件,--port選項被忽略了(上面解釋了為什麼)
    shell> mysql --port=13306 --host=localhost
    為了使端口生效,可以使用下面任何一種方法
    shell> mysql --port=13306 --host=127.0.0.1
    shell> mysql --port=13306 --protocol=TCP 

    --port 簡寫形式是 -P 
    --execute 簡寫形式是 -e 

    --protocol 選項的值有四種:TCP (ALL) SOCKET (Unix only) PIPE(Windows only) MEMORY(Windows only)

    4.2.3mysql程序的選項
    ++++++++++++++++++++
    指定選項的方法(後面的小節會詳細講解這三種方法):
        在命令行中讓選項跟在程序名後面,就是我們常用的;
        將選項放進選項文件,程序啟動的時候去讀取;
        將選項放進環境變量

    如果一個選項在上面的三種方式裡邊同時出現,方式1的優先級是最高的,方式3的優先級是最低的;這樣的話,我們就可以將最常用的選項放到環境變量或者配置文件中,
    而在需要時,使用命令行直接覆蓋掉。

    選項是按順序處理的,所以如果一個選項被聲明多次,最後一個將取得優先權;下面這個例子將會去連接localhost
    shell> mysql -h examplec.com -h localhost 

    如果給出的選項有衝突或者是related options,後面的選項將獲得優先權;下面的例子中,mysql將運行在“no column names”模式下
    shell> mysql --column-names --skip-column-names

    4.2.4命令行中使用選項
    ++++++++++++++++++++
    命令行選項遵循的規則:
        在命令名稱後面;
        以-或者--開始;(-? 等價于 --help )
        選項是大小寫敏感的;(-v 等價于 --verbose ; -V 等價于 --version)
        有的選項後面會跟一個值;(-h localhost或者 --host=localhost)
        長選項使用=,短選項使用空格或不使用符號(-hlocalhost 或者-h localhost ; 但是,-p選項是個例外,它不能使用空格)
            shell> mysql -ptest 密碼是test
            shell> mysql -p test 使用數據庫test,回車后mysql會提示輸入密碼
        如果選項的值是數字,那麼可以使用K,M,G(k,m,g)等後綴:mysqladmin --count=1K --sleep=10 ping 
        選項值有空格的話,必須使用引號:mysql -u root -p --execute="SELECT User, Host FROM mysql.user"
        如果語句中含引號,那麼,可以轉義,也可以在內部和外部使用不同的引號,例如外面使用雙引號裡邊使用單引號或者相反
        選項值裡邊可以使用分號分割多條語句:mysql -u root -p -e "SELECT VERSION();SELECT NOW()"

    4.2.5Program Option Modifiers
    ++++++++++++++++++++
    一些值為布爾類型的控制型的選項
    --disable-column-names 
    --skip-column-names
    --column-names=0
    ......


    4.2.6使用選項文件
    ++++++++++++++++++++

    ++++++++++++++++++++

---------------------
---------------------
---------------------
---------------------
---------------------
---------------------

你可能感兴趣的:(mysql)