在安裝、管理和使用mysql過程中,你是不是需要記憶很多的mysql命令。而且對于新手來說,很不多的命令不知道該如何應(yīng)用,對于老手來說很多命令時間長了忘記具體的用法。
其實mysql的幫助信息,已經(jīng)給我們提供很全面的使用方法。
下面我就大致介紹下,如何使用mysql的幫助信息。
說明:在此我只是為學習mysql提供一個思路,本篇文章不會過多講解每一個命令的使用方法。
一、mysql數(shù)據(jù)庫初始化
在安裝mysql進行初始化時,我們要使用mysql_install_db腳本進行初始化mysql數(shù)據(jù)庫,此時我們就可通過幫助命令實現(xiàn)。如下:
/usr/local/mysql/scripts/mysql_install_db --help
圖中的1、2、3表示初始化時mysql安裝的bin路徑、mysql數(shù)據(jù)目錄,以及運行mysql所使用的用戶。
現(xiàn)在我們進行初始化數(shù)據(jù)庫,如下:
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
通過上圖,我們也可以看到mysql數(shù)據(jù)庫已經(jīng)初始化成功。同時系統(tǒng)也給出如何啟動mysql,圖中5標記出來。圖中6標記出來的是如何修改root用戶的密碼。
二、 mysql數(shù)據(jù)庫管理
2.1 啟動mysql使用mysqld_safe
mysql數(shù)據(jù)庫安裝完畢后,我們就要啟動mysql。啟動mysql時,我們可以通過mysql提供的腳本,也可以通過mysqld_safe命令來啟動。
其實mysql的腳本也是通過該命令來實現(xiàn)的,如下:
cat /etc/init.d/mysqld
有關(guān)mysqld_safe命令的使用,我們也可以查看幫助文檔。如下:
/usr/local/mysql/bin/mysqld_safe --help
我們需要關(guān)注defaults-file這個參數(shù),這個參數(shù)加載的就是mysql的配置文件my.cnf。mysql的多實例部署就是根據(jù)加載不同的my.cnf文件來達到目的的。
現(xiàn)在我們來啟動mysql,如下:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
注意有一個參數(shù)在幫助文檔中我們是查不到的,就是跳過密碼驗證啟動mysql,這個參數(shù)為skip-grant-table。使用該參數(shù)啟動mysql,如下:
/usr/local/mysql/bin/mysqld_safe --skip-grant-table &
2.2 修改root用戶密碼使用mysqladmin
剛剛新安裝的mysql數(shù)據(jù)庫,root用戶密碼是空的。我們可以通過mysqladmin來查看如何修改root用戶密碼,如下:
/usr/local/mysql/bin/mysqladmin --help
修改root密碼,如下:
/usr/local/mysql/bin/mysqladmin -uroot password 123456
第一次修改root密碼,因為此時root密碼為空,我們可以這樣操作。如果root已經(jīng)有密碼了,我們就要使用以下命令進行修改,如下:
/usr/local/mysql/bin/mysqladmin -uroot -p123456 password 456789
使用新密碼登錄mysql,如下:
/usr/local/mysql/bin/mysql -uroot –p456789
其中還要注意-S參數(shù),這個在mysql多實例時會使用到。
2.3 備份mysql使用mysqldump
在備份mysql數(shù)據(jù)庫時,我們一般使用mysqldunmp命令,有關(guān)mysqldump命令的使用方法查看幫助文檔。如下:
/usr/local/mysql/bin/mysqldump --help
由于mysqldump的參數(shù)比較多,所以我們不一一介紹。但是有幾個參數(shù)需要重點介紹下。
-A表示備份整個數(shù)據(jù)庫
-F表示在執(zhí)行導出之前將會刷新MySQL服務(wù)器的binlog
-e表示使用全新多行INSERT語法。(給出更緊縮并且更快的插入語句)
--single-transaction 這個是當mysql是innodb引擎時,使用mysqldump備份建議要加上。
-S這個是mysql多實例使用的,詳見《爛泥:mysql5.5多實例部署》。
2.4 登錄mysql使用mysql
登錄或者連接mysql我們可以使用mysql命令,有關(guān)mysql命令的使用,查看幫助文檔。如下:
/usr/local/mysql/bin/mysql --help
在此我主要介紹下-e和-S這個參數(shù)。-e參數(shù)在mysql進行主從配置查看master庫的binlog文件名及pos位置節(jié)點時使用。-S參數(shù)mysql多實例使用。如下:
mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show master status"
注意以上命令都可以通過man進行查詢其使用方法。比如mysql命令:
man mysql
三、mysql數(shù)據(jù)庫使用
3.1 查看mysql數(shù)據(jù)庫版本
登錄mysql數(shù)據(jù)庫后,我們可以看到系統(tǒng)的提示命令,如下:
/usr/local/mysql/bin/mysql -uroot -p456789
通過上述截圖,我們可以看到目前mysql的版本是5.5.39。同時我們也注意到系統(tǒng)的提示:輸入help可以查看幫助信息,/c可以清空輸入。
3.2 查看help命令
查看help命令相關(guān)信息,如下:
help
通過上圖我們可以看到help命令很簡單的,在這我就不詳細的介紹了。只介紹system命令,該參數(shù)可以在mysql命令中直接執(zhí)行系統(tǒng)的相關(guān)命令。如下:
system ifconfig eth0
3.3 查看mysql幫助索引
如果你一個mysql的使用命令都不知道,也沒有關(guān)系的。mysql給我提供了一個幫助索引。現(xiàn)在我們隨便輸入一個命令,看看mysql的提示如:
help eth0;
通過上圖,我們可以看到。當我們輸入一個不存在的命令時,系統(tǒng)會提示的。注意圖中標記出來的黃色部分“help contents”。
我們通過help contents就可以查看到所有的mysql命令,這個就是mysql幫助索引。如下:
help contents;
注意圖中標記出來的都是各個mysql總命令的總目錄。比如Account Management是負責管理mysql用戶有關(guān)的目錄、Administration是mysql管理員管理mysql有關(guān)的目錄。
我們所有的mysql命令,都是可以在這個索引下找的。
3.4 查看mysql如何創(chuàng)建用戶
我們要創(chuàng)建一個新的數(shù)據(jù)庫用戶,但是我們又不知道使用什么命令進行創(chuàng)建,那我們就可以使用help contents查看所有的mysql命令目錄,根據(jù)目錄提示的信息我們猜想該命令應(yīng)該在Account Management這個目錄下。那我們就可以先查看該命令的幫助,如下:
help Account Management;
通過上圖,我們可以看到創(chuàng)建用戶的命令確實在該目錄下,為create user命令。
有關(guān)create user命令的具體使用方法,我們可以在進一步通過help命令進行查看。如下:
help create user;
通過上圖,我們可以很明顯看到create user的具體使用方法,并且?guī)椭畔⒅幸步o出相應(yīng)的例子。
這樣我們知道,如何使用create user命令創(chuàng)建數(shù)據(jù)用戶了。
同理我們也可以查看如何刪除一個用戶,使用help drop user命令,如下:
help drop user;
3.5如何給用戶授權(quán)
我們在創(chuàng)建完畢數(shù)據(jù)庫用戶后,就要給該用戶授權(quán)。那么如何授權(quán),該使用什么命令呢?
其實我們也可以在help Account Management命令中查看到,如下:
通過上圖我們可以看到grant就是授權(quán)命令。
我們再來查看grant命令的使用方法,如下:
help grant;
上圖就是grant的使用方法以及實例。同時系統(tǒng)也給出了如何查看用戶的權(quán)限使用show grants和如何刪除用戶的權(quán)限使用revoke。
同理我們也可以刪除一個用戶權(quán)限,使用help revoke命令進行查看,如下:
help revoke;
在這有一點需要說明下,我們在給用戶進行授權(quán)時,有時候不知道數(shù)據(jù)庫對用戶的權(quán)限都是什么,其實我們也是可以通過系統(tǒng)給出的數(shù)據(jù)庫進行查詢到的。該數(shù)據(jù)庫為information_schema,如下:
use information_schema;
desc user_privileges;
select privilege_type from user_privileges;
表user_privileges的privilege_type字段存儲的就是mysql數(shù)據(jù)庫用戶的所有權(quán)限。
除此之外,我們也可以通過Administration下的privileges查看所有權(quán)限,這個方法是最簡單的。如下:
show privileges;
3.6 修改用戶密碼
修改數(shù)據(jù)庫用戶的密碼,我們也可以在help Account Management下進行查看。如下:
help Account Management;
通過上圖,我們可以知道修改用戶密碼的命令是set password。
下面我們來查看set password的具體用法,如下:
help set password;
通過上圖,我們可以知道set password的使用方法以及使用實例。
3.7如何新建mysql數(shù)據(jù)庫
如何新建一個mysql數(shù)據(jù)庫,我們可以通過help contents查看應(yīng)該是在data definition。如下:
help contents;
help data definition;
通過上圖,我們可以看到創(chuàng)建數(shù)據(jù)庫的命令是create database。現(xiàn)在我們來具體查看下有關(guān)create database命令的使用方法,如下:
help create database;
上圖就是有關(guān)create database命令的詳細使用方法。
同時還要注意我們在查看help data definition命令時,標記出來的部分,如下:
我們可以看到這里面還有創(chuàng)建表、創(chuàng)建表空間,刪除數(shù)據(jù)庫、刪除表、刪除表空間等命令,這個些命令我們就不一一介紹了。我們只需按照create database命令進行查詢其使用方法即可。
3.8如何更新數(shù)據(jù)庫的一個記錄
現(xiàn)在我們要更新數(shù)據(jù)庫中一張表的某一個字段的記錄,我們知道可以使用update命令。但是update命令的具體用法,我們忘記了。
嘿嘿,沒事,我們也可以通過help信息查看update命令的使用方法。
通過查看相關(guān)的信息,我們知道update命令在data manipulation目錄下面。如下:
help data manipulation;
現(xiàn)在我們來查看update的使用方法,如下:
help update;
通過上圖,我們就可以知道update命令的使用方法。
同時需要注意的是,我們在查看data manipulation時,也可以查看有關(guān)表的其他操作,查詢命令select、刪除命令delete、插入命令insert。
如下:
help data manipulation;
有關(guān)這些命令的使用方法,在此就不一一介紹了。我們只需按照update命令進行查詢其使用方法即可。
3.9如何刷新mysql日志
現(xiàn)在我們來查看如何在命令行下,刷新mysql日志。這個我們可以在help contents下的Administration進行查看。如下:
help Administration;
通過上圖,我們可以知道刷新mysql日志的命令為flush。現(xiàn)在查看該命令的具體使用方法。如下:
help flush;
通過上圖,我們可以看到刷新日志使用flush logs命令即可。如下:
show master status/G;
flush logs;
同時該幫助信息中,還給出了如何重置日志,使用reset命令。如下:
help reset;
其實在help Administration中,我們也能看到reset命令。如下:
3.10 刷新權(quán)限
有時候我們在使用update命令進行更新后,會發(fā)現(xiàn)相關(guān)權(quán)限沒有生效。這個時候我們就需要使用flush privileges命令進行刷新。
如下命令:
flush privileges;
其實flush幫助信息中,已經(jīng)給我們進行說明了。如下:
3.11 查看show命令
通過3.9我們知道在Administration中有一個比較特別的命令show。
我們可以看到很多show相關(guān)的命令,如下:
help Administration;
這個show命令可以查看,我們在用戶授權(quán)、創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表等執(zhí)行時所使用的SQL語句。還可以查看數(shù)據(jù)庫引擎、數(shù)據(jù)庫狀態(tài)、表狀態(tài)等信息。
查看數(shù)據(jù)庫ilanni創(chuàng)建時執(zhí)行的sql語句,如下:
show create database ilanni;
注意我們在創(chuàng)建數(shù)據(jù)庫ilanni時,是沒有指定數(shù)據(jù)庫使用的語言編碼的。但是系統(tǒng)會在執(zhí)行sql語句時,自動加上語言編碼,并且使用默認的語言編碼latin1。
如果你記不清楚如何加上語言編碼的話,我們就可以創(chuàng)建一個數(shù)據(jù)庫。然后通過show create database命令進行查看,系統(tǒng)是是如何加上語言編碼的。然后我們再次刪除該數(shù)據(jù)庫,再次按照系統(tǒng)創(chuàng)建時的sql語言執(zhí)行即可。
如下:
create database ilanni default character set utf8;
查看系統(tǒng)中的數(shù)據(jù)庫,如下:
show databases;
查看master庫binlog相關(guān)信息,如下:
show master status;
查看ilanni用戶授權(quán)sql語句,如下:
show grants for ilanni;
查看mysql數(shù)據(jù)庫的表,如下:
show tables;
3.12 查看主從相關(guān)的命令
我們在進行mysql主從配置時,會使用到很多很多的命令。這些命令,我們也可以通過幫助信息獲得。如下:
help contents;
help transactions;
注意上圖中,我們黃色標記出來的部分。主庫授予從庫的命令、鎖表命令、主庫master重置數(shù)據(jù)庫、開啟與關(guān)閉同步等命令。
我們在從庫上執(zhí)行主庫的授權(quán)命令時,使用change master to命令。有關(guān)change master to命令的具體使用方法,查看幫助。如下:
help change master to;
通過上述兩張圖,我們就能很容易的知道change master to使用方法,并且?guī)椭畔⒅幸步o出實際的例子。
我們在進行導出mysql數(shù)據(jù)庫時,為了保持主從數(shù)據(jù)庫的一致性,此時我們會通過lock命令進行鎖表。有關(guān)lock命令的使用,我們也可以通過幫助信息進行查看,如下:
help lock;
重置主庫master日志,如下:
help reset master;
reset master;
在從庫slave上開啟同步,如下:
help start slave;
start slave;
show slave status/G
在從庫slave上關(guān)閉同步,如下:
help stop slave;
stop slave;
show slave status/G
新聞熱點
疑難解答
圖片精選