linux下mysqldumpエクスポートデータ、テーブル構造、インポートデータ

1930 ワード

[size=large]完全なデータベースバックアップのエクスポート[/size]

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q dbname > dbname.sql

[size=large][color=red]説明:[/color]これらのアドレス、ポートは説明しないで、すべて知っています.後述します.--add-locks:エクスポート中にテーブルをロックし、完了したらロックを解除します.-q:クエリーをバッファリングせず、標準出力に直接エクスポート
次のようになります.
[/size]

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;

[size=large]完全なデータベーステーブル構造をエクスポートする[/size]

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -d dbname > dbname.sql

[size=large][color=red]説明:[/color]-d:テーブル構造のみをエクスポートし、データを含まない
次のようになります.
[/size]

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;

[size=large]完全なデータベースをエクスポートするデータはテーブル構造を含まない[/size]

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

[size=large]例:[/size]

LOCK TABLES `user` WRITE;
INSERT INTO `user` VALUES ('1', 'name1');
INSERT INTO `user` VALUES ('2', 'name2');
UNLOCK TABLES;

[color=red][size=large]質問:[/size][color]
[size=large]
誰かが気づいたかもしれないincrementの問題は、テーブルの値をエクスポートします.テーブル自体のデータが多い場合は、
その値は大きくなり、私が表構造を望むと基数が大きくなり、なんだか不快になります.どなたか伝言をお願いします.ありがとう!
[/size]