mysql數據庫指令導入導出


mysql數據庫導出使用  /mysql/bin/mysqldump指令

數據庫導出

導出指令:

                    [mysql安裝目錄]/bin/mysqldump -u[username] -p[password] -h[host] -P[port] [databaseName] [[tableName1] [tableName2]] > [dirPath][filename].sql

 

上面指令中中括號里面的內容根據具體情況進行替換,如果是導出本地數據庫中且數據庫端口為默認3306中的數據,則不需要輸入 -h[host] -P[port] 參數。

下面以導出服務器10.102.112.109機器上數據庫為例,其中數據庫名為:FR_BLOG,數據庫端口為:7712,用戶名:admin,密碼:adminpass

                  //導出整個數據庫數據
                  [mysql安裝目錄]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG > /home/mysqldump/FR_BLOG.sql

 

                  //導出其中一個表:比如bl_user表
                  [mysql安裝目錄]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG bl_user > /home/mysqldump/bl_user.sql

 按條件導出數據

有時候我們不需要導出一張表中的所有數據,mysqldump也提供了按條件導出的功能,--where(或者-w)="condition"

例如,我們要導出上述bl_user表中userid大於1000的數據,可以用如下指令:

               [mysql安裝目錄]/bin/mysqldump -uadmin -padminpass -h10.102.112.109 -P7712 FR_BLOG bl_user --where="userid>1000" > /home/mysqldump/bl_user.sql

 

導入:

數據庫導入一般使用source指令,首先需要登錄數據庫,還以上述數據庫為例,假設我們在數據庫中新建了一個庫名為:FR_BLOG_BACKUP,然后想把上述導出的bl_user.sql數據導入該庫中,指令如下:

                            //首先需要登錄數據庫
                            [mysql安裝目錄]/bin/mysql -uadmin -padminpass -h10.102.112.109 -P7712

                            //然后切換到我們要導入數據的庫
                            mysql> use FR_BLOG_BACKUP;

                            //導入數據
                            mysql> source /home/mysqldump/bl_user.sql

 

備注:

這個方法導入大批量數據也是沒問題的,但是在實踐中發現在進行大量數據導入的時候,可能需要對導出的.sql文件進行簡單的修改,我在項目中試過7G數據的轉存,第一次導入成功了,后來每次再導入都會導致整個服務器的數據庫LOCK,而且數據不能導入,后來發現.sql文件中有一行為:  LOCK TABLES `page_view` WRITE;  

這是為了較快的寫入數據而鎖表操作,但是在導入的時候卻導致了插入失敗,而且影響其他數據庫的使用,隨意最好把這句注釋掉,因為.sql文件太大,用vim打開基本上是不可能的,可以使用下面的指令修改:

                                                                        sed -i "[linenum]s/LOCK/--LOCK/1" [filename].sql

其中  [linenum]  是 LOCK TABLES `page_view` WRITE; 所在行的行號, [filename] 為要修改的.sql文件

 [linenum] 可以使用head指令查看, head -n [num] [filename].sql 

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com