1) mysqldumpã¯ãƒ†ã‚ストãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ツール?ãれã¨ã‚‚ãƒã‚¤ãƒŠãƒªãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ツール?
テã‚ストãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ツールã 。ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを開ã‘ã°ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ãã®ä¸ã®ã‚ªãƒ–ジェクトを作り直ã™ãŸã‚ã®å…¨æ–‡ãŒè¦‹ã‚‰ã‚Œã‚‹ã€‚テーブルã«ãƒ‡ãƒ¼ã‚¿ã‚’è©°ã‚込むãŸã‚ã®insert文ももã¡ã‚ã‚“å«ã¾ã‚Œã¦ã„る。
2) mysqldumpã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚ªãƒ—ションã¯ï¼Ÿ
$ mysqldump -u [uname] -p[pass] –databases [dbname] [dbname2] > [backupfile.sql]
3) 全データベースã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
$ mysqldump -u root -p –all-databases > backupfile.sql
4) 特定ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã ã‘ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
$ mysqldump -u root -p –databases school hospital > backupfile.sql
5) 特定ã®ãƒ†ãƒ¼ãƒ–ルã ã‘ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
$ mysqldump –user=root –password=mypassword -h localhost databasename table_name_to_dump table_name_to_dump_2 > dump_only_two_tables_file.sql
6) データã¯ä¸è¦ã ãŒDDLã ã‘æ¬²ã—ã„æ™‚ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
$ mysqldump -u root -p –all-databases –no-data > backupfile.sql
7) mysqldumpã§ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«ã¯ã©ã®ãらã„ã®æ™‚é–“ãŒã‹ã‹ã‚‹ï¼Ÿ
データベースã®ã‚µã‚¤ã‚ºã«ã‚ˆã‚‹ã€‚100GBã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãªã‚‰2時間以上ã¯ã‹ã‹ã‚‹ã ã‚ã†ã€‚
8) リモートã®ã‚µãƒ¼ãƒã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
$ mysqldump -h 172.16.25.126 -u root -ppass dbname > dbname.sql
9) --routines
オプションã£ã¦ã©ã†ã„ã†æ„味?
--routines
オプションを付ã‘ã¦å–ã£ãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«ã¯ã€ãƒ«ãƒ¼ãƒãƒ³ã‚’å†ä½œæˆã™ã‚‹ãŸã‚ã®CREATE PROCEDURE
ãŠã‚ˆã³CREATE FUNCTION
æ–‡ãŒå«ã¾ã‚Œã‚‹ã€‚プãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„関数ãŒã‚ã‚‹å ´åˆã¯ã“ã®ã‚ªãƒ—ションを付ã‘ã‚‹å¿…è¦ãŒã‚る。
10) mysqldumpã®å…¨ã‚ªãƒ—ションを見ãŸã„時ã¯ï¼Ÿ
$ mysqldump --help
11) よã使ã‚れるオプションã¯ï¼Ÿ
--all-databases
--databases
--routines
--single-transaction
: テーブルをãƒãƒƒã‚¯ã—ãªã„ã§ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—。InnoDBã§ã¯å¸¸ã«ä»˜ã‘ã‚‹--master-data
: レプリケーション用データをダンプ--no-data
: データã®å…¥ã£ã¦ã„ãªã„空ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ダンプã™ã‚‹
12) トリガもãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã•れる?
デフォルトã§ãƒˆãƒªã‚¬ã‚‚ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã•れる。
13) --single-transaction
オプションã£ã¦ã©ã†ã„ã†æ„味?
--single-transaction
を付ã‘ã‚‹ã¨ã€InnoDBデータベースã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—時ã«ãƒãƒƒã‚¯ã‚’å–å¾—ã—ãªã„。
14) mysqldumpã®ã‚ˆã使ã†ã‚³ãƒžãƒ³ãƒ‰ã®ãƒ‘ターンã¨è¨€ãˆã°ï¼Ÿ
$ nohup mysqldump –socket=mysql.sock –user=user1 –password=pass –single-transaction –flush-logs –master-data=2 –all-databases –extended-insert –quick –routines > market_dump.sql 2> market_dump.err &
15) mysqldumpã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—データを圧縮ã™ã‚‹ã«ã¯ï¼Ÿ
$ mysqldump [options] | gzip > backup.sql.gz
ãŸã ã—ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãŒé…ããªã‚‹å¯èƒ½æ€§ãŒã‚る。
16) mysqldumpã¯å¤§ããªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«ã‚‚å‘ã„ã¦ã„る?
使用å¯èƒ½ãªãƒ¡ãƒ¢ãƒªã‚„HDDã®ã‚¹ãƒ”ードãªã©ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã«ã‚ˆã‚‹ãŒã€mysqldumpã«å‘ã„ã¦ã„ã‚‹ã®ã¯5GBã‹ã‚‰20GBãらã„ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã ã‚ã†ã€‚200GBã®ãƒ‡ãƒ¼ã‚¿ã‚‚mysqldumpã§ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ã§ãã‚‹ãŒã€ã“ã®ãƒ„ールã¯ã‚·ãƒ³ã‚°ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ã§ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã™ã‚‹ã®ã§ã€éžå¸¸ã«æ™‚é–“ãŒã‹ã‹ã£ã¦ã—ã¾ã†ã€‚
17) mysqldumpã§å–ã£ãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®ãƒªã‚¹ãƒˆã‚¢æ–¹æ³•ã¯ï¼Ÿ
source backup.sql
コマンドを使ã£ã¦MySQLã®ã‚·ã‚§ãƒ«ã‹ã‚‰å®Ÿè¡Œmysql -uroot -p < backup.sql
18) リカãƒãƒªä¸ã®ã‚¨ãƒ©ãƒ¼ã‚’ãƒã‚°ã«æ®‹ã—ã¦ãŠããŸã„ã—ã€ãƒªã‚«ãƒãƒªã®å®Ÿè¡Œæ™‚間も見ãŸã„ãŒã©ã†ã—ãŸã‚‰ã‚ˆã„?
$ time mysql -uroot -p < backup.sql > backup.out 2>&1
19) リストアãŒå‹•ã„ã¦ã„ã‚‹ã‹çŸ¥ã‚ŠãŸã„時ã¯ã©ã†ã—ãŸã‚‰ã‚ˆã„?
mysql> show full processlist;
20) データベースãŒå¤§ãã„æ™‚ã«ã—ã¦ãŠã„ãŸæ–¹ãŒã„ã„事ã¯ã‚る?
nohup
ã§ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¸ãƒ§ãƒ–ã¨ã—ã¦å®Ÿè¡Œã™ã‚‹ã€‚
21) Windowsã‹ã‚‰mysqldumpã§å–ã£ãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’Linuxã§ãƒªã‚¹ãƒˆã‚¢ã§ãる?
å¯èƒ½ã€‚
22) リストア先ã®ã‚µãƒ¼ãƒã«ãƒ•ァイルを転é€ã™ã‚‹ã«ã¯ã©ã†ã—ãŸã‚‰ã„ã„?
- scp
- sftp
- winscp
23) 巨大ãªãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルをリストアã™ã‚‹ã®ã«source
を使ã£ãŸã‚‰ã©ã†ãªã‚‹ï¼Ÿ
ã‚ã¡ã‚ƒãã¡ã‚ƒæ™‚é–“ãŒã‹ã‹ã‚‹ã€‚ãã†ã„ã†æ™‚ã«ã¯ã€nohup
を使ã£ã¦ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã•ã›ã¦ãŠãã®ãŒã‚ˆã„。
ã‚ã‚‹ã„ã¯ã€screenã‚„tmuxを使ã£ã¦ã‚‚よã„ã ã‚ã†ã€‚
24) mysqldumpã«ã¯drop database
ãŒãƒ‡ãƒ•ォルトã§å«ã¾ã‚Œã¦ã„る?
--add-drop-database
オプションを付ã‘ã‚‹å¿…è¦ãŒã‚る。
25) 複数ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã—ãŸãƒ•ァイルã‹ã‚‰ã‚るデータベースã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®ã¿ã‚’抽出ã™ã‚‹ã«ã¯ï¼Ÿ
対象ã®ãƒ†ãƒ¼ãƒ–ルをtestã¨ã—ãŸå ´åˆã€
$ sed -n '/^-- Current Database: `test`/,/^-- Current Database: `/p' fulldump.sql > test.sql
PlanetMySQL Voting: Vote UP / Vote DOWN