MySQL的導入導出
MySQL的導出是利用MySQL安裝目錄的bin目錄下的mysqldump指令來進行的,該指令需要在Windows的cmd指令視窗執行。文法如下:
如:
如果需要指定導出檔案的編碼則可以通過參數--default-character-set來指定,如:
上述腳本會連目标庫裡面的資料一起導出來,但有時候我們可能并不需要導出其中的資料,這個時候我們可以加上參數--no-data。(注意no前面是有兩個橫杠的)。如:
有時候我們可能想導出的資料庫不是本地的,這個時候我們可以加上參數-h來指定要導出的資料庫所在的主機,以及在使用非預設端口(3306)時通過參數-P(大寫)指定對應的端口。如:
需要注意的是MySQL預設隻允許通路本機的資料庫,如果需要通路遠端的MySQL,那麼遠端的MySQL應當開放指定IP通路的權限。如:
也可以把IP換成百分号“%”,表示所有的IP都允許通路,如:
也可以使用如下形式,表示隻允許IP以“10.10.10”開始的進行通路,如:
grant指令是需要在MySQL指令視窗執行的,其标準文法如下所示:
其表示将某個資料庫的某個表的某權限賦予給來自某用戶端的某使用者,“all privileges”表示将授予所有的權限,“with grant option”表示其是否可以将自身的權限授予他人。如果我們隻想授予某使用者對某表的select權限,則可以使用如下語句:
如:
如果需要導入這個導出結果,則使用:
導入是在登入以後,在MySQL的指令視窗使用source指令來進行的,文法如下:
如果需要指定導入的編碼則可以通過參數--default-character-set來指定。
此外需要注意的是導入必須指定将要導入的資料庫,也就是說在執行source導入之前,必須通過use database_name切換到要導入的資料庫。
本地導入的話我們可以直接打開MySQL的指令視窗登入資料庫進行導入,當然也可以在Windows的cmd指令視窗通過mysql指令來登入到MySQL,mysql指令也是在MySQL安裝目錄下的bin目錄下,其文法如下:
但如果需要導入到遠端資料庫的話,那麼首先我們應當登入到遠端資料庫,登入到遠端資料庫的文法是使用mysql指令,但是通過-h參數來指定要登入的遠端主機,通過-P(大寫)來指定對應的端口。如:
之後我們就可以像上面那樣進行導入了。
需要注意的是遠端導入時,也需要有通過本地用戶端的mysql指令登入遠端資料庫的權限,也就是說也需要像導出那樣使用grant指令授予對應的權限。