mysql幫助命令使用說明

爛泥行天下發表於2016-05-12

在安裝、管理和使用mysql過程中,你是不是需要記憶很多的mysql命令。而且對於新手來說,很不多的命令不知道該如何應用,對於老手來說很多命令時間長了忘記具體的用法。

其實mysql的幫助資訊,已經給我們提供很全面的使用方法。

下面我就大致介紹下,如何使用mysql的幫助資訊。

說明:在此我只是為學習mysql提供一個思路,本篇文章不會過多講解每一個命令的使用方法。

一、mysql資料庫初始化

在安裝mysql進行初始化時,我們要使用mysql_install_db指令碼進行初始化mysql資料庫,此時我們就可通過幫助命令實現。如下:

/usr/local/mysql/scripts/mysql_install_db –help

clip_image001

圖中的1、2、3表示初始化時mysql安裝的bin路徑、mysql資料目錄,以及執行mysql所使用的使用者。

現在我們進行初始化資料庫,如下:

/usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql/ –datadir=/usr/local/mysql/data/ –user=mysql

clip_image002

通過上圖,我們也可以看到mysql資料庫已經初始化成功。同時系統也給出如何啟動mysql,圖中5標記出來。圖中6標記出來的是如何修改root使用者的密碼。

二、 mysql資料庫管理

2.1 啟動mysql使用mysqld_safe

mysql資料庫安裝完畢後,我們就要啟動mysql。啟動mysql時,我們可以通過mysql提供的指令碼,也可以通過mysqld_safe命令來啟動。

其實mysql的指令碼也是通過該命令來實現的,如下:

cat /etc/init.d/mysqld

clip_image003

有關mysqld_safe命令的使用,我們也可以檢視幫助文件。如下:

/usr/local/mysql/bin/mysqld_safe –help

clip_image004

我們需要關注defaults-file這個引數,這個引數載入的就是mysql的配置檔案my.cnf。mysql的多例項部署就是根據載入不同的my.cnf檔案來達到目的的。

現在我們來啟動mysql,如下:

/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf &

clip_image005

注意有一個引數在幫助文件中我們是查不到的,就是跳過密碼驗證啟動mysql,這個引數為skip-grant-table。使用該引數啟動mysql,如下:

/usr/local/mysql/bin/mysqld_safe –skip-grant-table &

clip_image006

2.2 修改root使用者密碼使用mysqladmin

剛剛新安裝的mysql資料庫,root使用者密碼是空的。我們可以通過mysqladmin來檢視如何修改root使用者密碼,如下:

/usr/local/mysql/bin/mysqladmin –help

clip_image007

修改root密碼,如下:

/usr/local/mysql/bin/mysqladmin -uroot password 123456

clip_image008

第一次修改root密碼,因為此時root密碼為空,我們可以這樣操作。如果root已經有密碼了,我們就要使用以下命令進行修改,如下:

/usr/local/mysql/bin/mysqladmin -uroot -p123456 password 456789

使用新密碼登入mysql,如下:

/usr/local/mysql/bin/mysql -uroot –p456789

clip_image009

其中還要注意-S引數,這個在mysql多例項時會使用到,詳見《爛泥:mysql5.5多例項部署》。

2.3 備份mysql使用mysqldump

在備份mysql資料庫時,我們一般使用mysqldunmp命令,有關mysqldump命令的使用方法檢視幫助文件。如下:

/usr/local/mysql/bin/mysqldump –help

clip_image010

clip_image011

由於mysqldump的引數比較多,所以我們不一一介紹。但是有幾個引數需要重點介紹下。

-A表示備份整個資料庫

-F表示在執行匯出之前將會重新整理MySQL伺服器的binlog

-e表示使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)

–single-transaction 這個是當mysql是innodb引擎時,使用mysqldump備份建議要加上。

-S這個是mysql多例項使用的,詳見《爛泥:mysql5.5多例項部署》。

mysqldump一個備份例項,如下:

mysqldump -uilanni1 -p’ilanni1′ ilanni>ilanni.sql

如果需要匯入備份的sql檔案的話,使用mysql命令。如下:

mysql -uilanni1 -p’ilanni1′ ilanni<ilanni.sql

2.4 登入mysql使用mysql

登入或者連線mysql我們可以使用mysql命令,有關mysql命令的使用,檢視幫助文件。如下:

/usr/local/mysql/bin/mysql –help

clip_image012

在此我主要介紹下-e和-S這個引數。-e引數在mysql進行主從配置檢視master庫的binlog檔名及pos位置節點時使用。-S引數mysql多例項使用,詳見《爛泥:mysql5.5多例項部署》。如下:

mysql -uroot -p123456 -S /data/3307/mysql.sock -e “show master status”

clip_image013

注意以上命令都可以通過man進行查詢其使用方法。比如mysql命令:

man mysql

clip_image014

三、mysql資料庫使用

3.1 檢視mysql資料庫版本

登入mysql資料庫後,我們可以看到系統的提示命令,如下:

/usr/local/mysql/bin/mysql -uroot -p456789

clip_image015

通過上述截圖,我們可以看到目前mysql的版本是5.5.39。同時我們也注意到系統的提示:輸入help可以檢視幫助資訊,c可以清空輸入。

3.2 檢視help命令

檢視help命令相關資訊,如下:

help

clip_image016

通過上圖我們可以看到help命令很簡單的,在這我就不詳細的介紹了。只介紹system命令,該引數可以在mysql命令中直接執行系統的相關命令。如下:

system ifconfig eth0

clip_image017

3.3 檢視mysql幫助索引

如果你一個mysql的使用命令都不知道,也沒有關係的。mysql給我提供了一個幫助索引。現在我們隨便輸入一個命令,看看mysql的提示如:

help eth0;

clip_image018

通過上圖,我們可以看到。當我們輸入一個不存在的命令時,系統會提示的。注意圖中標記出來的黃色部分“help contents”。

我們通過help contents就可以檢視到所有的mysql命令,這個就是mysql幫助索引。如下:

help contents;

clip_image019

注意圖中標記出來的都是各個mysql總命令的總目錄。比如Account Management是負責管理mysql使用者有關的目錄、Administration是mysql管理員管理mysql有關的目錄。

我們所有的mysql命令,都是可以在這個索引下找的。

3.4 檢視mysql如何建立使用者

我們要建立一個新的資料庫使用者,但是我們又不知道使用什麼命令進行建立,那我們就可以使用help contents檢視所有的mysql命令目錄,根據目錄提示的資訊我們猜想該命令應該在Account Management這個目錄下。那我們就可以先檢視該命令的幫助,如下:

help Account Management;

clip_image020

通過上圖,我們可以看到建立使用者的命令確實在該目錄下,為create user命令。

有關create user命令的具體使用方法,我們可以在進一步通過help命令進行檢視。如下:

help create user;

clip_image021

clip_image022

通過上圖,我們可以很明顯看到create user的具體使用方法,並且幫助資訊中也給出相應的例子。

這樣我們知道,如何使用create user命令建立資料使用者了。

同理我們也可以檢視如何刪除一個使用者,使用help drop user命令,如下:

help drop user;

clip_image023

3.5如何給使用者授權

我們在建立完畢資料庫使用者後,就要給該使用者授權。那麼如何授權,該使用什麼命令呢?

其實我們也可以在help Account Management命令中檢視到,如下:

clip_image024

通過上圖我們可以看到grant就是授權命令。

我們再來檢視grant命令的使用方法,如下:

help grant;

clip_image025

clip_image026

上圖就是grant的使用方法以及例項。同時系統也給出瞭如何檢視使用者的許可權使用show grants和如何刪除使用者的許可權使用revoke。

同理我們也可以刪除一個使用者許可權,使用help revoke命令進行檢視,如下:

help revoke;

clip_image027

在這有一點需要說明下,我們在給使用者進行授權時,有時候不知道資料庫對使用者的許可權都是什麼,其實我們也是可以通過系統給出的資料庫進行查詢到的。該資料庫為information_schema,如下:

use information_schema;

desc user_privileges;

select privilege_type from user_privileges;

clip_image028

表user_privileges的privilege_type欄位儲存的就是mysql資料庫使用者的所有許可權。

除此之外,我們也可以通過Administration下的privileges檢視所有許可權,這個方法是最簡單的。如下:

show privileges;

clip_image029

3.6 修改使用者密碼

修改資料庫使用者的密碼,我們也可以在help Account Management下進行檢視。如下:

help Account Management;

clip_image030

通過上圖,我們可以知道修改使用者密碼的命令是set password。

下面我們來檢視set password的具體用法,如下:

help set password;

clip_image031

clip_image032

通過上圖,我們可以知道set password的使用方法以及使用例項。

3.7如何新建mysql資料庫

如何新建一個mysql資料庫,我們可以通過help contents檢視應該是在data definition。如下:

help contents;

help data definition;

clip_image033

clip_image034

通過上圖,我們可以看到建立資料庫的命令是create database。現在我們來具體檢視下有關create database命令的使用方法,如下:

help create database;

clip_image035

上圖就是有關create database命令的詳細使用方法。

同時還要注意我們在檢視help data definition命令時,標記出來的部分,如下:

clip_image036

我們可以看到這裡面還有建立表、建立表空間,刪除資料庫、刪除表、刪除表空間等命令,這個些命令我們就不一一介紹了。我們只需按照create database命令進行查詢其使用方法即可。

3.8如何更新資料庫的一個記錄

現在我們要更新資料庫中一張表的某一個欄位的記錄,我們知道可以使用update命令。但是update命令的具體用法,我們忘記了。

嘿嘿,沒事,我們也可以通過help資訊檢視update命令的使用方法。

通過檢視相關的資訊,我們知道update命令在data manipulation目錄下面。如下:

help data manipulation;

clip_image037

clip_image038

現在我們來檢視update的使用方法,如下:

help update;

clip_image039

通過上圖,我們就可以知道update命令的使用方法。

同時需要注意的是,我們在檢視data manipulation時,也可以檢視有關表的其他操作,查詢命令select、刪除命令delete、插入命令insert。

如下:

help data manipulation;

clip_image040

有關這些命令的使用方法,在此就不一一介紹了。我們只需按照update命令進行查詢其使用方法即可。

3.9如何重新整理mysql日誌

現在我們來檢視如何在命令列下,重新整理mysql日誌。這個我們可以在help contents下的Administration進行檢視。如下:

help Administration;

clip_image041

通過上圖,我們可以知道重新整理mysql日誌的命令為flush。現在檢視該命令的具體使用方法。如下:

help flush;

clip_image042

通過上圖,我們可以看到重新整理日誌使用flush logs命令即可。如下:

show master statusG;

flush logs;

clip_image043

同時該幫助資訊中,還給出瞭如何重置日誌,使用reset命令。如下:

help reset;

clip_image044

其實在help Administration中,我們也能看到reset命令。如下:

clip_image045

3.10 重新整理許可權

有時候我們在使用update命令進行更新後,會發現相關許可權沒有生效。這個時候我們就需要使用flush privileges命令進行重新整理。

如下命令:

flush privileges;

其實flush幫助資訊中,已經給我們進行說明了。如下:

clip_image046

3.11 檢視show命令

通過3.9我們知道在Administration中有一個比較特別的命令show。

我們可以看到很多show相關的命令,如下:

help Administration;

clip_image047

clip_image048

這個show命令可以檢視,我們在使用者授權、建立資料庫、建立表等執行時所使用的SQL語句。還可以檢視資料庫引擎、資料庫狀態、表狀態等資訊。

檢視資料庫ilanni建立時執行的sql語句,如下:

show create database ilanni;

clip_image049

注意我們在建立資料庫ilanni時,是沒有指定資料庫使用的語言編碼的。但是系統會在執行sql語句時,自動加上語言編碼,並且使用預設的語言編碼latin1。

如果你記不清楚如何加上語言編碼的話,我們就可以建立一個資料庫。然後通過show create database命令進行檢視,系統是是如何加上語言編碼的。然後我們再次刪除該資料庫,再次按照系統建立時的sql語言執行即可。

如下:

create database ilanni default character set utf8;

clip_image050

檢視系統中的資料庫,如下:

show databases;

clip_image051

檢視master庫binlog相關資訊,如下:

show master status;

clip_image052

檢視ilanni使用者授權sql語句,如下:

show grants for ilanni;

clip_image053

檢視mysql資料庫的表,如下:

show tables;

clip_image054

3.12 檢視主從相關的命令

我們在進行mysql主從配置時,會使用到很多很多的命令。這些命令,我們也可以通過幫助資訊獲得。如下:

help contents;

help transactions;

clip_image055

clip_image056

注意上圖中,我們黃色標記出來的部分。主庫授予從庫的命令、鎖表命令、主庫master重置資料庫、開啟與關閉同步等命令。

我們在從庫上執行主庫的授權命令時,使用change master to命令。有關change master to命令的具體使用方法,檢視幫助。如下:

help change master to;

clip_image057

clip_image058

通過上述兩張圖,我們就能很容易的知道change master to使用方法,並且幫助資訊中也給出實際的例子。

我們在進行匯出mysql資料庫時,為了保持主從資料庫的一致性,此時我們會通過lock命令進行鎖表。有關lock命令的使用,我們也可以通過幫助資訊進行檢視,如下:

help lock;

clip_image059

重置主庫master日誌,如下:

help reset master;

clip_image060

reset master;

clip_image061

在從庫slave上開啟同步,如下:

help start slave;

clip_image062

start slave;

show slave statusG

clip_image063

在從庫slave上關閉同步,如下:

help stop slave;

clip_image064

stop slave;

show slave statusG

clip_image065

有關mysql主從同步的具體配置方法詳見《爛泥:mysql5.5主從同步複製配置》。


相關文章