MySQLã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—
注æ„
- CentOS4上ã§ã®MySQL5.1ã§ã®èª¿æŸ»å†…容ã§ã™ã€‚
- ä»–ã®ç’°å¢ƒã ã¨ç•°ãªã‚‹ã‹ã‚‚…。
- 今回ã¯mysqldumpã®ã¿èª¿æŸ»ã€‚mysqlhotcopyã¯æœªèª¿æŸ»ã€‚
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—命令ã¯2種類
- mysqldump
- mysqlhotcopy
MySQLã®å‘½ä»¤ã§ã¯ãªãã€å®Ÿè¡Œãƒ•ã‚¡ã‚¤ãƒ«ã‚„perlスクリプト。
mysqldumpã®ç‰¹å¾´
mysqlhotcopyã®ç‰¹å¾´
- データベースファイルã¨ã—ã¦ãƒã‚¤ãƒŠãƒªã§å‡ºåŠ›ã•ã‚Œã‚‹ã€‚
- Perlスクリプト。DBIã‚’useã—ã¦ã„ã‚‹ã®ã§ã€DBIãŒç„¡ã„ã¨èµ·å‹•ã§ããªã„。
- 自動的ã«ãƒãƒƒã‚¯ã•ã‚Œã‚‹ã®ã§å®‰å¿ƒã€‚
- MyISAMã®ã¿ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—å¯èƒ½ã€‚InnoDBã¯ç„¡ç†ã€‚
- InnoDBã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ ディレクトリã«ãƒ†ãƒ¼ãƒ–ル内容をä¿å˜ã—ã¦ã„ãªã„
 
今回ã¯ã€DBIãŒå…¥ã£ã¦ãªã„ã®ã§ã€mysqldumpを使用ã™ã‚‹ã€‚
mysqldumpã®å…¥åŠ›ä¾‹
ã™ã¹ã¦ã®DBã®æƒ…å ±ã‚’æ ¼ç´
$ mysqldump --opt -u [ユーザå] -p[パスワード] -A > [ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルå].sql
対象ã®DB上ã®ã‚るテーブルã®æƒ…å ±ã‚’æ ¼ç´
$ mysqldump --opt -u [ユーザå] -p[パスワード] [DBå] [テーブルå]> [ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルå].sql
標準出力ãŒUTF-8以外ã®å ´åˆ
$ mysqldump --opt --default-character-set=[æ–‡å—コードå] -u [ユーザå] -p[パスワード] -A > [ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルå].sql
- -pã¨ï¼»ãƒ‘スワード]ã®é–“ã«ã¯ã‚¹ãƒšãƒ¼ã‚¹ã‚’入れãªã„ï¼
- [テーブルåï¼½ãŒnullãªã‚‰ã°ã€å¯¾è±¡ã®DBã™ã¹ã¦ã‚’å–å¾—ã™ã‚‹ã€‚
- mysqldumpã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå‡ºåŠ›ã¯UTF-8
オプションã®æ„味
オプション | æ„味 |
---|---|
--opt | 出力çµæžœã®SQLã«ä»¥ä¸‹ã‚’è¿½åŠ ãƒ»ãƒ†ãƒ¼ãƒ–ãƒ«ã®ãƒãƒƒã‚¯ ・åŒåã®ãƒ†ãƒ¼ãƒ–ルãŒã‚ã£ãŸå ´åˆã€ãã‚Œã®Drop ・Insertã®æœ€é©åŒ– |
-u | ユーザå |
-p | パスワード é–“ã«ç©ºç™½ã‚’入れるã¨ä¸Šæ‰‹ãèªè˜ã•ã‚Œãªã„ |
-A | --all-databasesã¨ç‰ä¾¡ã€‚å…¨DBを対象ã¨ã™ã‚‹ã€‚ |
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®å¾©æ—§ä¾‹
$ mysql -u [ユーザå] -p[パスワード] < [ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルå].sql
ãŸã ã®SQLãªã®ã§ã€å®Ÿè¡Œã™ã‚‹ã ã‘。
展開先ã®DBã«æ—¢ã«ãƒ†ãƒ¼ãƒ–ルãŒã‚ã‚‹å ´åˆã€ä¸€åº¦å‰Šé™¤ã•ã‚Œã‚‹ã®ã§æ³¨æ„。(--optオプションã«ã‚ˆã‚Š)
å‚考リンク
MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 7.12 mysqldump ― データベースバックアッププログラム
- mysqldumpã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹
hori-uchi.com: mysqldumpで文字化けしないためのメモ
- mysqldumpã®æ–‡å—コード指定ã®è©±
MySQL AB :: MySQL 5.1 リファレンスマニュアル :: 13 ストレージエンジンとテーブルタイプ
MyISAM vs InnoDB - naoyaのはてなダイアリー
ãã‚“ãªã‹ã‚“ã˜ãƒ¼ã€‚