linux下mysqldump導出數據、表結構,導入數據


導出完整的數據庫備份 

Sql代碼  
  1. mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q dbname > dbname.sql  


說明:前面這些地址、端口就不說明了,都知道。說下后面的,--add-locks:導出過程中鎖定表,完成后回解鎖。-q:不緩沖查詢,直接導出至標准輸出 
如: 

Sql代碼  
  1. LOCK TABLES `user` WRITE;  
  2. DROP TABLE IF EXISTS `user`;  
  3. CREATE TABLE `user` (  
  4.   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  
  5.   `namevarchar(50) NOT NULL DEFAULT '',  
  6. ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;  
  7. INSERT INTO `userVALUES ('1''name1');  
  8. INSERT INTO `userVALUES ('2''name2');  
  9. UNLOCK TABLES;  


導出完整的數據庫表結構 

Sql代碼  
  1. mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -d dbname > dbname.sql  


說明:-d:只導出表結構,不含數據 
如: 

Sql代碼  
  1. LOCK TABLES `user` WRITE;  
  2. CREATE TABLE `user` (  
  3.   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  
  4.   `namevarchar(50) NOT NULL DEFAULT '',  
  5. ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;  
  6. UNLOCK TABLES;  


導出完整的數據庫的數據不含表結構 

Sql代碼  
  1. mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -t dbname.user > dbname.sql  


如: 

Java代碼  
  1. LOCK TABLES `user` WRITE;  
  2. INSERT INTO `user` VALUES ('1''name1');  
  3. INSERT INTO `user` VALUES ('2''name2');  
  4. UNLOCK TABLES;  


問題: 

也許有人已經發現了,auto_increment的問題,導出的是表中的值,如果表本身數據很多, 
其值就會很大,如果我要表結構的話,基數就會很大,總感覺不爽。誰有辦法請留言。謝啦!!

 

 

導入數據:mysqlimport -u用戶名 -p密碼 數據庫DB 路徑(最后的文件名如果是ssdd.txt,則對應導入的表名即為數據庫DB下的ssdd)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM