導出完整的數據庫備份
- mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q dbname > dbname.sql
說明:前面這些地址、端口就不說明了,都知道。說下后面的,--add-locks:導出過程中鎖定表,完成后回解鎖。-q:不緩沖查詢,直接導出至標准輸出
如:
- LOCK TABLES `user` WRITE;
- DROP TABLE IF EXISTS `user`;
- CREATE TABLE `user` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(50) NOT NULL DEFAULT '',
- ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
- INSERT INTO `user` VALUES ('1', 'name1');
- INSERT INTO `user` VALUES ('2', 'name2');
- UNLOCK TABLES;
導出完整的數據庫表結構
- mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -d dbname > dbname.sql
說明:-d:只導出表結構,不含數據
如:
- LOCK TABLES `user` WRITE;
- CREATE TABLE `user` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(50) NOT NULL DEFAULT '',
- ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
- UNLOCK TABLES;
導出完整的數據庫的數據不含表結構
- mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -t dbname.user > dbname.sql
如:
- LOCK TABLES `user` WRITE;
- INSERT INTO `user` VALUES ('1', 'name1');
- INSERT INTO `user` VALUES ('2', 'name2');
- UNLOCK TABLES;
問題:
也許有人已經發現了,auto_increment的問題,導出的是表中的值,如果表本身數據很多,
其值就會很大,如果我要表結構的話,基數就會很大,總感覺不爽。誰有辦法請留言。謝啦!!
導入數據:mysqlimport -u用戶名 -p密碼 數據庫DB 路徑(最后的文件名如果是ssdd.txt,則對應導入的表名即為數據庫DB下的ssdd)