爛泥:mysql協助命令使用說明,爛泥mysql

來源:互聯網
上載者:User

爛泥:mysql協助命令使用說明,爛泥mysql

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

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

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

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

一、mysql資料庫初始化

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

/usr/local/mysql/scripts/mysql_install_db --help

圖中的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

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

二、 mysql資料庫管理

2.1 啟動mysql使用mysqld_safe

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

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

cat /etc/init.d/mysqld

有關mysqld_safe命令的使用,我們也可以查看協助文檔。如下:

/usr/local/mysql/bin/mysqld_safe --help

我們需要關注defaults-file這個參數,這個參數載入的就是mysql的設定檔my.cnf。mysql的多執行個體部署就是根據載入不同的my.cnf檔案來達到目的的。

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

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

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

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

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

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

/usr/local/mysql/bin/mysqladmin --help

修改root密碼,如下:

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

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

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

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

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

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

2.3 備份mysql使用mysqldump

在備份mysql資料庫時,我們一般使用mysqldunmp命令,有關mysqldump命令的使用方法查看協助文檔。如下:

/usr/local/mysql/bin/mysqldump --help

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

-A表示備份整個資料庫

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

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

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

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

2.4 登入mysql使用mysql

登入或者串連mysql我們可以使用mysql命令,有關mysql命令的使用,查看協助文檔。如下:

/usr/local/mysql/bin/mysql --help

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

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

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

man mysql

三、mysql資料庫使用

3.1 查看mysql資料庫版本

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

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

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

3.2 查看help命令

查看help命令相關資訊,如下:

help

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

system ifconfig eth0

3.3 查看mysql協助索引

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

help eth0;

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

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

help contents;

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

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

3.4 查看mysql如何建立使用者

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

help Account Management;

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

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

help create user;

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

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

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

help drop user;

3.5如何給使用者授權

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

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

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

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

help grant;

就是grant的使用方法以及執行個體。同時系統也給出了如何查看使用者的許可權使用show grants和如何刪除使用者的許可權使用revoke。

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

help revoke;

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

use information_schema;

desc user_privileges;

select privilege_type from user_privileges;

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

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

show privileges;

3.6 修改使用者密碼

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

help Account Management;

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

下面我們來查看set password的具體用法,如下:

help set password;

通過,我們可以知道set password的使用方法以及使用執行個體。

3.7如何建立mysql資料庫

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

help contents;

help data definition;

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

help create database;

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

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

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

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

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

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

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

help data manipulation;

現在我們來查看update的使用方法,如下:

help update;

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

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

如下:

help data manipulation;

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

3.9如何重新整理mysql日誌

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

help Administration;

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

help flush;

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

show master status\G;

flush logs;

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

help reset;

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

3.10 重新整理許可權

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

如下命令:

flush privileges;

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

3.11 查看show命令

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

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

help Administration;

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

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

show create database ilanni;

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

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

如下:

create database ilanni default character set utf8;

查看系統中的資料庫,如下:

show databases;

查看master庫binlog相關資訊,如下:

show master status;

查看ilanni使用者授權sql語句,如下:

show grants for ilanni;

查看mysql資料庫的表,如下:

show tables;

3.12 查看主從相關的命令

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

help contents;

help transactions;

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

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

help change master to;

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

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

help lock;

重設主庫master日誌,如下:

help reset master;

reset master;

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

help start slave;

start slave;

show slave status\G

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

help stop slave;

stop slave;

show slave status\G

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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.