MySQL常見命令總結及資料匯總

MySQL常見命令總結及資料匯總

一、服務啟動與停止命令
net start mysql (啟動服務)
net stop mysql (終止服務)

二、登錄登出命令
mysql -u用戶名 -p密碼 -h連接的主機IP -p端口號 (登錄)
exit、quit(登出)

三、修改密碼命令
1、登錄mysql;
2、use mysql;
3、update user set password=PASSWORD('新密碼') where user='用戶名';
4、flush privileges;#更新權限
5、quit;#退出

四、增加新用戶
1、 首先以root用戶連入Mysql
2、 grant 權限 on數據庫名 to用戶名@登錄主機 identified by“密碼”;
3、 flush privileges; 更新權限


常見權限用戶管理命令權限及詳解可參看博客http://www.toxingwang.com/database/mysql/1468.html
全局管理權限:
FILE: 在MySQL服務器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關閉MySQL服務。

數據庫/數據表/數據列權限:
ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。
CREATE: 建立新的數據庫或數據表。
DELETE: 刪除表的記錄。
DROP: 刪除數據表或數據庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。

特別的權限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什么也不允許做。


五、數據庫基本操作
show databases; (顯示數據庫)
use 數據庫名; (使用數據庫)
show tables; (顯示表)
describe 表名; (顯示表結構)

create database 數據庫名;(建數據庫)
drop database 數據庫名;(刪除數據庫)
create table 表名(定義列);(建表)
drop table 表名;(刪除表)

update 表名 set字段=新值,... where條件 (修改表中數據)
alter table 表名 add字段類型其他;(在表中增加字段)
rename table 原表名 to新表名; (更改表名)
update 表名 set字段名 =新內容
update 表名 set字段名 = replace(字段名, '舊內容', '新內容');(更新字段內容)

insert into <表名> values(字段值,字段值,……),……;(插入數據)
delete from 表名 where表達式(刪除表中數據)

六、狀態查看命令(Mysql運行狀態及調優詳解可參看博客http://www.cnblogs.com/gzgccsu/archive/2013/01/23/2873579.html
Show status; (查看Mysql運行狀態)
Show processlist; (查看哪些線程正在運行,前100條)
Show full processlist; (查看哪些線程正在運行,全部)
Show open tables; (查看那些表是打開的,可查看表是否被線程使用)
Show status like ‘%lock%’;(查看服務器狀態)
Show engine innodb status\G; (查看InnoDB引擎運行時信息)
Show variables like‘%timeout%’;(查看服務器配置參數)


state列具體釋義: Checking table 正在檢查數據表(這是自動的)。Closing tables 正在將表中修改的數據刷新到磁盤中,同時正在關閉已經用完的表。這是一個很快 的操作,如果不是這樣的話,就應該確認磁盤空間是否已經滿了或者磁盤是否正處
于重負中。Connect Out 復制從服務器正在連接主服務器。Copying to tmp table on disk 由于臨時結果集大于 tmp_table_size,正在將臨時表從內存存儲轉為磁盤存儲以
此節省內存。Creating tmp table 正在創建臨時表以存放部分查詢結果。deleting from main table 服務器正在執行多表刪除中的第一部分,剛刪除第一個表。deleting from reference tables 服務器正在執行多表刪除中的第二部分,正在刪除其他表的記錄。Flushing tables 正在執行 FLUSH TABLES 等待其他線程關閉數據表。Killed 發送了一個kill請求給某線程,那么這個線程將會檢查kill標志位,同時會放棄下
一個kill請求。MySQL會在每次的主循環中檢查kill標志位,不過有些情況下該線程可能會過一小段才能死掉。如果該線程程被其他線程鎖住了,那么kill請求會在鎖釋放時馬上生效。
Locked 被其他查詢鎖住了。Sending data 正在處理 SELECT 查詢的記錄,同時正在把結果發送給客戶端。Sorting for group 正在為 GROUP BY 做排序。Sorting for order 正在為 ORDER BY 做排序。Opening tables 這個過程應該會很快,除非受到其他因素的干擾。例如,在執 ALTER TABLE 或
LOCK TABLE 語句行完以前,數據表無法被其他線程打開。 正嘗試打開一個表
Removing duplicates 正在執行一個 SELECT DISTINCT 方式的查詢,但是MySQL無法在前一個階段
優化掉那些重復的記錄。因此,MySQL需要再次去掉重復的記錄,然后再把結果發送給客戶端。
Reopen table 獲得了對一個表的鎖,但是必須在表結構修改之后才能獲得這個鎖。已經釋放鎖, 關閉數據表,正嘗試重新打開數據表。Repair by sorting 修復指令正在排序以創建索引。Repair with keycache 修復指令正在利用索引緩存一個一個地創建新索引。它會比上一條慢些。Searching rows for update 正在講符合條件的記錄找出來以備更新。它必須在 UPDATE 要修改相關的記錄之
前就完成了。Sleeping 正在等待客戶端發送新請求.System lock 正在等待取得一個外部的系統鎖。如果當前沒有運行多個 mysqld 服務器同時請
求同一個表,那么可以通過增加 –skip-external-locking參數來禁止外部系統鎖。
Upgrading lock INSERT DELAYED 正在嘗試取得一個鎖表以插入新記錄。Updating 正在搜索匹配的記錄,并且修改它們。User Lock 正在等待 GET_LOCK()。Waiting for tables 該線程得到通知,數據表結構已經被修改了,需要重新打開數據表以取得新的結構。
然后,為了能的重新打開數據表,必須等到所有其他線程關閉這個表。


七、導出和導入數據、備份與恢復(博文鏈接http://blog.chinaunix.net/uid-16844903-id-3411118.html)

(注:‘省略’代表著如下固定參數:-routines代表備份函數與存儲過程
-u$USER -p$PASSWD -h127.0.0.1 -P3306 —routines—default-character-set=utf8)

————————導出、備份————————
1、 導出全部數據庫備份(-A全庫備份)
mysqldump 省略—lock-all-tables —add-drop-database -A > db.all.sql

2、 導出指定數據庫到本地目錄,例如mysql數據庫(--databases數據庫名)
mysqldump 省略 --databases mysql > db.sql

3、 導出指定數據庫的指定表到本地目錄,例如mysql數據庫的user表(--tables數據庫名表名)
mysqldump 省略 --tables mysql user> db.table.sql

4、 導出指定數據庫的指定表(僅數據)到本地目錄,例如mysql數據庫的user表,帶過濾條件
mysqldump 省略 --no-create-db --no-create-info --tables mysql user --where="host='localhost'"> db.table.sql

5、導出某個數據庫的表結構(--no-data不備份數據)
mysqldump 省略 --no-data --databases mysql > db.nodata.sql

6、導出某個sql查詢的數據以txt文件形式存儲到到本地的目錄(各數據值之間用"制表符"分隔)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 --skip-column-names -B -e 'select user,host,password from mysql.user;' > mysql_user.txt

7、導出某個sql查詢的數據以txt文件形式存儲到到MySQL服務器,登錄MySQL,將默認的制表符換成逗號.(適應csv格式文件),指定的路徑,mysql要有寫的權限。最好用tmp目錄,文件用完之后,再刪除!
SELECT user,host,password FROM mysql.user INTO OUTFILE '/tmp/mysql_user.csv' FIELDS TERMINATED BY ',';

————————導入、恢復————————
1、 恢復全庫數據到MySQL,因為包含mysql庫的權限表,導入完成需要執行FLUSH PRIVILEGES;命令

第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 < db.all.sql

第二種方法:
登錄MySQL,執行source命令,后面的文件名要用絕對路徑.
......
mysql> source /tmp/db.all.sql;

2、恢復某個庫的數據(mysql庫的user表)
第一種方法:
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8 mysql < db.table.sql

第二種方法:
登錄MySQL,執行source命令,后面的文件名要用絕對路徑.
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> source /tmp/db.table.sql;

3、恢復MySQL服務器上面的txt格式文件(需要FILE權限,各數據值之間用"制表符"分隔)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> LOAD DATA INFILE '/tmp/mysql_user.txt' INTO TABLE user ;

4、恢復MySQL服務器上面的csv格式文件(需要FILE權限,各數據值之間用"逗號"分隔)
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;
mysql> LOAD DATA INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';

5、恢復本地的txt或csv文件到MySQL
mysql -u$USER -p$PASSWD -h127.0.0.1 -P3306 --default-character-set=utf8
......
mysql> use mysql;

txt

mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.txt' INTO TABLE user;

csv

mysql> LOAD DATA LOCAL INFILE '/tmp/mysql_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';

關于mysql參數
--skip-column-names 不顯示數據列的名字
-B 以批處理的方式運行mysql程序.查詢結果將顯示為制表符間隔格式.
-e 執行命令后,退出
關于mysqldump參數
-A 全庫備份
--routines 備份存儲過程和函數
--default-character-set=utf8 設置字符集
--lock-all-tables 全局一致性鎖
--add-drop-database 在每次執行建表語句之前,先執行DROP TABLE IF EXIST語句
--no-create-db 不輸出CREATE DATABASE語句
--no-create-info 不輸出CREATE TABLE語句
--databases 將后面的參數都解析為庫名
--tables 第一個參數為庫名后續為表名
關于LOAD DATA語法
如果LOAD DATA語句不帶LOCAL關鍵字,就在MySQL的服務器上直接讀取文件,且要具有FILE權限.
如果帶LOCAL關鍵字,就在客戶端本地讀取數據文件,通過網絡傳到MySQL.
LOAD DATA語句,同樣被記錄到binlog,不過是內部的機制.


八、mysqladmin指令(所有命令可以被縮短為其唯一的前綴)

create databasename (創建一個新數據庫)
drop databasename (刪除一個數據庫及其所有表)
Extended-status (給出服務器的一個擴展狀態消息)
Flush-hosts (洗掉所有緩存的主機)
Flush-logs (洗掉所有日志)
Flush-tables (洗掉所有表 )
Flush-privileges (再次裝載授權表(同reload) )
kill id,id,... (殺死MySQL線程)
Password (新口令,將老口令改為新口令)
Ping (檢查mysqld是否活著 )
Processlist (顯示服務其中活躍線程列表)
Reload (重載授權表 )
Refresh (洗掉所有表并關閉和打開日志文件)
Shutdown (關掉服務器)
Status (給出服務器的簡短狀態消息)
Variables (打印出可用變量)
Version (得到服務器的版本信息)

九、Mysqld命令詳解參看博客http://blog.itpub.net/29500582/viewspace-1373451/
十、Mysql日志管理詳解參看博客http://www.toxingwang.com/database/mysql/1483.html
十一、Mysql索引詳解參看博客http://blog.csdn.net/zhangliangzi/article/details/51366345
十二、Mysql事務詳解參看博客http://www.toxingwang.com/database/mysql/1454.html
十三、Mysql鎖定機制詳解參看博客http://www.toxingwang.com/database/mysql/1454.html
十四、常見sql指令可參看《mysql必知必會》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,967評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,273評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,870評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,742評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,527評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,010評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,108評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,250評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,769評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,656評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,853評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,371評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,103評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,472評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,717評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,487評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,815評論 2 372

推薦閱讀更多精彩內容