MySQL命令行SQL腳本的導入導出小結(數據庫的備份與還原)

1.設置環境變量

要想在命令行下各處都能執行mysql命令,必須在系統變量Path中添加mysql的命令所在的目錄。例如我安裝的是集成PHP環境的mysql,在D盤xampps下,則我需要將“;D:\xampps\mysql\bin”添加到Path的最後面。如下圖所示:
這裏寫圖片描述
如果不設置環境變量,只能進入到“D:\xampps\mysql\bin”目錄下執行mysql命令。

2.命令行導入

方法一:未連接數據庫時方法

語法格式:mysql -h ip -u userName -p dbName < sqlFilePath (最後沒有分號)
-h : 數據庫所在的主機。如果是本機,可以使用localhost,或者省略此項;
-u : 連接數據庫用戶名。
-p : 連接數據庫密碼。出於安全考慮,一般不在-p之後直接寫出明文的密碼。整個命令回車之後,數據庫會要求輸入密碼,那個時候再輸入密碼將以**的形式顯示出來。有一定的保護作用。
dbName : 要使用的具體的某個數據庫。這個不是必須的,如果sql腳本中沒有使用“use dbName”選擇數據庫,則此處必須制定數據庫;如果使用了”use dbName”,則可以省略。
sqlFilePath : sql腳本的路徑。如我將sql腳本放在了D盤,我的sql腳本的名字是”test_sql.sql”。則路徑爲”D:\test_sql.sql”。
命令執行情況如下圖所示:
這裏寫圖片描述

方法二:已連接數據庫時方法

語法格式:source sqlFilePath(後面沒有分號)
sqlFilePath : sql腳本的路徑。如我將sql腳本放在了D盤,我的sql腳本的名字是”test_sql.sql”。則路徑爲”D:\test_sql.sql”。
命令執行情況如下圖所示:
這裏寫圖片描述
上圖中,第一次執行沒有成功,因爲在sql腳本中沒有使用use語句指定數據庫,所以需要先指定數據庫。

3.命令行導出

  • 導出某個數據庫:

    mysqldump -u root -p dbName > sqlFilePath

  • 導出多個數據庫:

    mysqldump -u root -p –add-drop-database –databases dbName1 dbName2… > sqlFilePath
    –add-drop-database : 該選項表示在創建數據庫的時候先執行刪除數據庫操作
    –database : 該選項後面跟着要導出的多個數據庫,以空格分隔

  • 導出某個數據庫的某個表:

    mysqldump -u root -p dbName tableName > sqlFilePath

  • 只導出數據庫結構,不帶數據:

    mysqldump -u root -p -d dbName > sqlFilePath
    -d : 只備份結構,不備份數據。也可以使用”–no-data”代替”-d”,效果一樣。

導出命令執行情況如下圖所示:
這裏寫圖片描述

關於mysqldump,還有非常多的可選項,例如備份視圖、觸發器,按照指定條件備份數據等。更多的選項請參考下面的文章:
http://blog.csdn.net/zyz511919766/article/details/12853133
http://www.cnblogs.com/lmule/archive/2010/09/27/1837023.html
http://www.cnblogs.com/qq78292959/p/3637135.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章