MySQL ã¦ã¼ã¶ã«ã³ãã¡ã¬ã³ã¹ 2008 1st Day
ã¨ããããã§è¡ã£ã¦ãã¾ããï¼ããªã大å¢ã®äººãæ¥ã¦ããã®ã§ï¼ããªãç±ãæ¦ãã«ã³ãã¡ã¬ã³ã¹ã«ãªãã¾ããï¼èãã¦ããã»ãã·ã§ã³ã®ã»ã¨ãã©ãè±èªã ã£ãã®ã§ï¼ããå°ããã¢ãªã³ã°ã§ããã°ãªã¨ï¼å°ãå¾æãã¦ãã¾ãï¼
ããªãé·ãã®ã§ããï¼2æ¥åã®ãã°ãï¼
åºèª¿è¬æ¼
- ãã¸ãã¹ããªã¥ã¼ã ã¯ããªã大ãããªã£ã¦ããï¼
åµè¨è David ã®æ¨æ¶
- ç¹å¾´
- Pluggable Storage Engines
- ããããã«ç¹å¾´ããã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãï¼ç¶æ³ã«å¿ãã¦ä½¿ãåãããã¨ãã§ãã
- ããã Connector/Parser ãªã©ã¯å ±éãªã®ã§éçºè ã«åªãã
- Storage Engines
- External
- Archive
- InnoDB
- PBXT
- InfoBright
- automatic indexing
- NitroSecrity
- IBM DB2
- Internal
- Falcon
- Maria
- MyISAM ã®ä¸ä½çª
- External
- Data Warehousing Appliance
- Kickfire
- ããããã®ã¤ããã¼ã·ã§ã³ãèªç±ã«å©ç¨ã§ããã®ã MySQL ã®ç¹å¾´
- å¤ãããµãã¼ã
- æ°å¤ãã®è¨èªã§ãµãã¼ãããã¦ãã
- æ°å¤ãã®OSã§ããµãã¼ãããã¦ãã
- Sun CEO ã®ããã°ã§ï¼è²·åãã¦ãä½ãå¤ãããªããã¨ãæè¨ãã¦ããï¼
- ã¦ã¼ã¶ãªã©ããå ±åããããã°ãªã¹ãã¯å
¬éãã¦ããï¼
- ãé ãããæ±ãä¸çãã¨è¨ã£ã¦ãããããï¼
- MySQL = My(ãã¼)ã®SQL
MyNA
- æ¥æ¬ MySQL ã¦ã¼ã¶ä¼
- 2000å¹´çºè¶³
- MySQL ML ã«å ¥ãã°ä¼å¡
- è¦æ
- æ¥æ¬èªã®æ å ±ã欲ãã
- ãªã¼ãã³ã½ã¼ã¹ãç¶ãã¦ã»ãã
- MySQL 社ã®ç¤¾å¡ã®ååãï¼ä»å¾ãããã ãããï¼
ã¹ãã³ãµã¼ç´¹ä»
- ä½åæ å ±ã·ã¹ãã
- éæç·ç
- ãªã¼ãã³ã½ã¼ã¹ã®æ®åããµãã¼ããªã©ããã£ã¦ãã
- HP
- MySQL åã®ãã¼ããã¼ãã³ãã¼
- HP 㨠Sun ã¯è£ã§ OpenSource çã«ã¤ãªãã£ã¦ãã
A Bried Overview of the Work Done in Shinsei Bank
- æ°çéè¡
- ITé¨éã§ã¯ããªãé©æ°çã§æ³¨ç®ããã¦ããããã
- 1000ä¸äººè¦æ¨¡ã®é¡§å®¢ããã
- è£å´
- ç´æ¸é¡ã°ãã
- æ å ±ãéç´ããã¦ããªã
- 大åã¡ã¤ã³ãã¬ã¼ã ãå¿ è¦ã ã£ã
- Methodology
- Harvard Bisuiness Review
- atricleID=R0803J
- Harvard Bisuiness Review
- 8å¹´åã«ç«ã¦ãåå
- é¨åçã«æ§ç¯ãããï¼åºæ¬çã«ã¯ä½ãå¤ããªã
- æ¢åã®ãã®ã ãã使ãèªç¤¾éçºã¯ããªã
- Open ãªãã®ã使ã
- 顧客㮠Experience ãéè¦
- Virtual ãªçµç¹ãå½¢æãã¦ï¼ä¸çä¸ã®ç¥æµãéçµ
- ç´ã極å使ããªãããã«
- Benefits of using standard components
- Low cost
- Speed
- Flexibility
- For customers
- For staff
- Embedded controls
- Methodology at a glance
- Process 㨠Technology ã«å解
- ãããããåã¨ã¬ã¡ã³ãã«å解
- Technology ã conponents(Software/hardware/etc...)ã«å解
- ãã¹ã¦ã¯å¤±æããã¨ä»®å®ãã
- 人ãéç´ããªãã¦ã稼åãç¶ãããã¨ãéè¦ãã
- ä¿è¨¼ãã¹ããã®
- å®å ¨æ§ã»ãã¬ãã·ããªãã£ã»é度ã»ã³ã¹ãã»è½å
- 3ã¶æãµã¤ã¯ã«ã§åã
- ä½ã³ã¹ã
- ãã¤ã¨ã³ããªãã®ã¯ã¤ãã£ã¦ãããï¼ä½ã³ã¹ããªãã®ãæ°å¤ãç¨æãã
- åã³ã³ãã¼ãã³ãéã§ä¾åæ§ãæé¤ãã
- å¤ãã½ã¼ã¹ã³ã¼ãã¯ã¿ã¦ããªã
- å¤ãæè¡ã§ã®å®æç©ãåèã«ï¼æ°ããã·ã¹ãã ãå¶ä½ãã
- ãªã½ã¼ã¹ã®å¶ç´
- åé¡ãå°ããåå²ãã¦ï¼ååã«è§£æ±ºãã¦ãã
- Dell PC/Server ã使ã£ã¦ãã
- è£å´ã®å¤å
- ãã¹ã¦ã®æ å ±ãéç´åããã¦ã¹ãããª
- ææ³ã CCL ã§å
Ž
- ãã¬ã¼ã³è³æã CCL ã§å ¬é
MySQL ãã©ãã«ã·ã¥ã¼ãã£ã³ã°æ¦è¦
- éçºç®æ¨
- å®å®æ§
- ããã©ã¼ãã³ã¹
- 使ãããã
- å®å®æ§éè¦ã ãå¤ãã®ãã©ãã«ãèµ·ãã
- ãã©ãã«ã·ã¥ã¼ãã£ã³ã°3種ã®ç¥å¨
- ã¨ã©ã¼ãã°
- ã¨ã©ã¼ãè¨é²ããã¦ãããã®
- å®éã«ã¯STDOUTããªãã¤ã¬ã¯ããããã®
- SHOW ã³ãã³ã
- ã¨ã©ã¼ãã°
- SHOW WARNINGS
- Query ã失æããã¨ãã®ã¨ã©ã¼å°åº¦
- SHOW GLOBAL STATUS
- çµ±è¨æ å ±
- SHOW GLOBAL VARIABLES
- è¨å®å¤ã表示
- SHOW INNODB STATUS
- InnoDB ã¢ãã¿
-
- perror
- OS ã¨ã©ã¼ã®æå³ã表示
- MySQL Cluster ãªã -ndb ã§å種æ å ±ãã¿ããã¨ãã§ãã
- perror
- ãã®ä»ãã使ããã¼ã«
ã¬ããªã±ã¼ã·ã§ã³
- ãã¹ã¿ã¼å´
ã¢ããªãªã©-->ãã¼ãã«--(æ´æ°)-->ãã¤ããªãã°--(ãã¹ã¿ã¼ã¹ã¬ãã)-->ã¹ã¬ã¼ãã¸
- ã¹ã¬ã¼ãå´
--(I/O ã¹ã¬ãã)-->ãªã¬ã¼ãã°--(SQL ã¹ã¬ãã)-->ãã¼ãã«
SQL ã¹ã¬ãããåæ¢ãã¦ãã¾ã£ã
- åå
- ã¡ã¢ãªä¸è¶³
- å種ãããã¡ã«å²ãå½ã¦ãã¡ã¢ãªã足ããªã -> å¢ããã¦åèµ·å
- ã¹ã¬ã¼ãä¸ã®ãã¼ãã«ãæ´æ°ãã¦ãã¾ã£ã
- ãã¹ã¿ã¼ãã¼ã¿ãããªã¹ãã¢
- ãã¤ããªãã°æ¬ æ
- ã³ãã³ãã§æ示çã« purge ãããããã¨çºçãã
- 対象ãã¼ãã«ãããã£ã¦ããã°ãã¹ã¿ã¼ä¸ã§ dump/restore ã§å¾©æ§ã§ãã
- ãã®ä»ä¸æçãªã¨ã©ã¼
- ã¡ã¢ãªä¸è¶³
SET GLBOAL SQL_SLAVE_SKIP_COUNTER = N; START SLAVE;
I/Oã¹ã¬ãããåæ¢
- ãããã¯ã¼ã¯ã®ã¨ã©ã¼
- ping ã§ç¢ºèª
- max_allowed_packet ãå¢ãã
- ã¦ã¼ã¶ããã°ã¤ã³ã§ããªã
- ãã¹ã¯ã¼ããå¤æ´ãããã¨ã
- server_id ããã¶ã£ã¦ããªãã
ã¹ã¬ã¼ãã®é 延
- é·æéãããã¯ã¨ãªã¯ãªããï¼
- ãã¹ã¿ã¼ä¸ã§ã¯ã¯ã¨ãªå®äºæã« binlog ã«è¨é²ããã
- ãã¼ãã«ã®æ´æ°ã¯ç´ æ©ãï¼
- ã¹ã¬ã¼ãã«è² è·ãããããã¦ããªããï¼
- åç §ç³»å¦çã® CPU ãªã½ã¼ã¹ãã¨ããã¦ãã¾ã£ã¦ãã
- ãã¹ã¿ã¼ããã®ã¯ã¨ãªã SQL ã¹ã¬ããã§ãªããªãå®è¡ã§ããªããªããã
- ãããã¯ã¼ã¯å¸¯åã¯ååãï¼
ãµãã¼ãã«åãåãããã¨ãã¯
- SHOW SLAVE STATUS\G
- SHOW MASTER STATUS\G
- SHOW MASTER LOGS\G
- ã¨ã©ã¼ãã°
- my.cnf
- ãã¼ãã«å®ç¾©
ã¬ããªã±ã¼ã·ã§ã³ãã©ãã«å¯¾ç
- ãã¤ããªãã°æ¬ æãé²ã
sync_binlog=1 innodb_flush_logs_at_trx_commit=1
-
- ãã ãæ´æ°ãé ããªã
- ãã³ãã©ãªãã¼ãã«ã¯ä½¿ããªã
- ã¯ã©ãã·ã¥åèµ·åå¾ã«ã¯ãªããªãããï¼CREATE TEMPORARY TABLE ã¯ä½¿ããªãï¼
- ãã¹ã¿ã¼ã¨ã¹ã¬ã¼ãã«ããã¦ï¼ã³ãã¯ã·ã§ã³æ¯ã®ãããã¡ã¯åãç¨åº¦ã«è¨å®ãã¦ãã
- ã¹ã¬ã¼ãã§ã¯ã¨ãªãå®è¡ã§ããªããªããã¨ãé²ããã
- ã¹ã¬ã¼ããè¤æ°ç¨æãã
- ãã¹ã¿ã¼ããããã¨ã対ç
- ãã¤ããªãã°ãæå¹å
- log_slave_update=ON
ã¯ã©ãã·ã¥!!
MySQL ãµã¼ããèµ·åããªã!!
- æ
å ±æºã¯ã¨ã©ã¼ãã°
- ç¹°ãè¿ãçºçãã¦ãªããï¼
- InnoDB ã®ãªã«ããªã¯å®äºãã¦ãããï¼
- ã¯ã©ãã·ã¥å¾ã®åèµ·åã«èªåçã«ãªã«ããªããã®ã§ï¼ãã¤ããªãã°ã®å¤§ããã大ããã¨æéãããã
- ãã¡ã¤ã«ã·ã¹ãã ããã£ã±ãã§ã¯ãªããï¼
- è¨å®ã«åé¡ã¯ï¼
- InnoDB ã®è¨å®å¤æ´ã¯ç¹ã«æ³¨æ
ãã¼ãã«ã³ã©ãã·ã§ã³ã»MyISAM
- ãªãèµ·ããã®ã
- MySQL ãµã¼ããOSã®ã¯ã©ãã·ã¥
- MyISAM ã¯ã¯ã©ãã·ã¥ã»ã¼ãã§ã¯ãªã
- HDDããã¡ã¤ã«ã·ã¹ãã ã®ä¸å ·å
- MyISAM ã®ãã°
- MySQL ãµã¼ããOSã®ã¯ã©ãã·ã¥
- 復æ§æé
- CHECK TABLE/REPAIR TABLE
- mysqlcheck
- èµ·åä¸ã«å®è¡
- myisamcheck
- èµ·åãã¦ããªãã¨ãã«å®è¡
- ãã¼ãã«ã®åä½æ
CREATE TABLE new_tbl KILE tbl; INSERT INTO new_tbl SELECT * FROM tbl; DROP TABLE tbl;
- äºé²çã¯
- ãªãï¼
- å®æçã«ããã¯ã¢ãã
- ã¬ããªã±ã¼ã·ã§ã³ãããã¯ã¢ããã¨ãã¦
- ã¯ã©ãã·ã¥ãããããã¯ã¢ããããã®ãªã¹ãã¢ãæ¤è¨
- ä»ã®ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ã¸ç§»è¡
- InnoDB/Maria/Falcon
- ãªãï¼
ãã¼ãã«ã³ã©ãã·ã§ã³ã»InnoDB
- 修復ããæ©è½ã¯ãªã
- ã¯ã©ãã·ã¥å¾ã«ãªã«ããªããªããã° The END!!!
- ãã¼ãã«ã¹ãã¼ã¹ã¨ãã°ãã¡ã¤ã«ã®ä¸æ´åãèµ·ãããã¿ã¼ã³ãå¤ã
- 復æ§æ¹æ³
- äºé²ç
- innodb_flush_log_at_trx_commit=1
- innodb_doublewrite ãæå¹å
- ãã¡ã¤ã«ã·ã¹ãã ã®ã¸ã£ã¼ããªã³ã°
- H/W RAID ã®ããããªããã¯ã¢ãã
ãããããã¯
- ãã©ã³ã¶ã¯ã·ã§ã³ã§ã¯ã¤ããã®
- ãªãã©ã¤ã§ä¼è²»
- lock-wait-timeout ã¨ãããããã¯ã¯éã
- lock-wait-timeout ã¯ããã¯ãç²å¾ã§ãã¦ããªãç¶æ³
- ãã¼ã¿ã«ã¢ã¯ã»ããé åºã工夫ãã
SHOW INNODB STATUS
- çµ±è¨æ å ±ãè¦ãã³ãã³ã
- 1åãè¦ããã³ã«æ´æ°
- SEMAPHORES : ããã¯æ å ±
ã¯ã¨ãªã®å®è¡çµæããããã
- ãã°ã®å¯è½æ§ããã
- åç¾ãã¹ã
- ã¨ã«ããã½ã¼ã¹ã³ã¼ãã解æ
- SHOW WARNINGS ãéè¦ãªæãããã«
- dtrace ãå½¹ã«ç«ã¤
Out of Memory
- 32bit ãã¼ã¸ã§ã³ã¯ä½¿ããªã
- è«çã¢ãã¬ã¹æ¯æ¸ã§èµ·ãã
- RSS = 使ç¨ç©çã¡ã¢ãªã 1GB ã§ãèµ·ãããã
- ãããã¡ã®å²ãå½ã¦ãã
- ç¹ã«ã»ãã·ã§ã³æ¯ã®ãããã¡ã大ããããå ´åãå¤ã
- read_buffer_size=64M ã¨ãã¯å¤ãã
- 512K ç¨åº¦ã§ãã
Sort Aborted
- ã½ã¼ããããã¡ãå²ãå½ã¦ãããã®ã¡ã¢ãªã足ããªã
- ãã³ãã©ãªãä½ããªã
- ããã¯å¾ ã¡
- ã½ã¼ãä¸ã« KILLããã ã·ã£ãããã¦ã³ããã
table is full
ãã°ã¤ã³ã§ããªã
- ãã¹ã¯ã¼ããéã
- root ã§ãªã»ãã
- 4.0 以åãã 4.1 移è¡ã¸æ¥ç¶
- ãµã¼ãå´ã§ -old-password ãç¨ãã
- å ´ã¸ã§ã³ã¢ãããã
- Can't create a new thread
- ã¹ã¬ããæ°ã®ä¸é(OS)
- ã¹ã¿ãã¯ä¸è¶³
- Connection refused
- TCP/IP ã®åé¡
æååã
- æ¥ç¶ç¨ã®æåã³ã¼ãã¯ï¼
- 端æ«ã®æåã³ã¼ãã¯ï¼
- ã³ãã³ãããã³ããã¯ä½¿ããªãæ¹ããã
- Query Browser ããããã
- LOAD DATA IN FILE ã§æååããã
- SHOW CREATE DATABASE 㧠DATABASE ã®æåã³ã¼ãã確èª
ããã¯ã¢ãã
- çµãããªã
- 巨大ãªãã¼ãã«ã mysqldump ã§ããã¯ã¢ãã
- ã¡ã¢ãªä¸è¶³
- --quick ãªãã·ã§ã³ã§
- é©åãªããã¯ã¢ããã
- ã¬ããªã±ã¼ã·ã§ã³ãªã©
ãªã¹ãã¢ãªã©
MySQL Enterprise Monitor
- ã¨ã¼ã¸ã§ã³ãããµã¼ãã¸å°éã§ããªã
- ããã 99% ããã
MuSQL Cluster
- SQL ãã¼ããã¯ã©ã¹ã¿ã«æ¥ç¶ã§ããªã
- ãããã¯ã¼ã¯
- connect-string
- ãã¼ãIDãªã©
- ndb_mgm -e SHOW
- SHOW ENGINE NDB STATUS
- ã¯ã©ãã·ã¥ããã
- ã¾ãã¯ãã¼ã¿ãã¼ããåèµ·å
- ã¯ã©ã¹ã¿å ¨ä½ãåæ¢
ããã©ã¼ãã³ã¹ç³»ã®åé¡
- ã³ã³ãµã«ãã£ã³ã°ãµãã¼ãã§è§£æ
SHOW GLOBAL STATUS
- Select_*
- é ãã¯ã¨ãªã«é¢ããæ å ±
ã¯ã³ãã¤ã³ãã¢ããã¤ã¹
- ä»æ§ãç解ãã
- æ£å¸¸ã»ç°å¸¸ã®åºå¥
- åç¾ãã¦ã¿ã
- ã½ã¼ã¹ã³ã¼ããèªã
- OSã«è©³ãããªã
- POSIX ãªã©
Memcached and MySQL
- ãªã Memcached ã使ãã
- Chaos ã ãã
- LiveJournal
- 30GB cache TB data
- Mixi
- Server
- slab allocator
- libevent based
- simple protocol
- Hash Table
- ä»ã®ãµã¼ãã®ãã¨ã¯ç¥ããªã
- Client
- Client hashed Key to Serve List(åæ£)
- ãªãã¸ã§ã¯ãã¯ã·ãªã¢ã©ã¤ãº
- ãã¼ã¿ã®å§ç¸®ãªã©
- Consistent Hash
- ç¹å¾´
- memcached ã¯ãã¼ã¿ãã¼ã¹ãããªããããã³ãã§ããªã
- åé·çã§ã¯ãªã
- ãµã¼ãã§ã¯ãã§ã¤ã«ãªã¼ãã¼ãããªã
- èªè¨¼æ©è½ã¯ãªã
- Examples
- key:value ã®å·¨å¤§ããã·ã¥ã¨ãã¦æ±ãã
- limit
- Key Size(250 bytes)
- Data Size ! Mega byte
- Tools
- Protocol
- Telne
- Text baseã ãã
- Protocol
- CPU 使ç¨çã¯ããªãä½ã
- Future
- Binary Protocol
- Multiple Engine Support
- Char based
- Durable
- Queue
- Highly Threaded
MySQL Enterprise ãã¼ã«ã®ãç´¹ä»
Workbench
- MySQL Query Browser
- MySQL Administrator
- 管çç¨
- MySQL Migration Tooklit
- 移è¡ãã¼ã«ããã
- MySQL Workbench
- Entity/Relation Designer
- ãã¼ã¿ã»ãã¼ã¿ãã¼ã¹ãææ¸åãã
- ç¹å¾´
- è¤éãªãã¼ã¿ãã¼ã¹æ§é ãå¯è¦å
- ã¢ãã«åãããã¨ã§é¢ä¿æ§ããããããã表示ãã
- Forward Engineering
- E/Rå³ããSQLã¸å¤æ
- ãã¼ã¿ãã¼ã¹ã¸æ¥ç¶ãã¦ç´æ¥å®è¡å¯è½
- Reverse Engineering
- å®å¨ãããã¼ã¿ãã¼ã¹ã® E/R å³ã«
- å¤æ´ãé©ç¨å¯è½
- Database Compare
- ãã¼ã¿ãã¼ã¹ã®æ¯è¼
- Database Synchronization
- ãã¼ã¿ãã¼ã¹ã®åæå
- ãªãã¸ã§ã¯ãã¬ãã«ã§ã®åæ
- Documentation
- ææ¸åï¼è¨è¨æ¸ã»ä»æ§æ¸ãªã©ï¼
Enterprise
- Subscription å½¢å¼
- Database
- Community Server ããã Fix ãæ©ã
- Monitoring
- Enterprise Monitor
- Support
- ã³ã³ãµã«
- Database
Enterprise Monitor
- ç¹å¾´
- MySQL Server 㨠Replication ãèªåæ¢ç¥
- [NEW] Problem Query Detection, Analysis and Tuning
- MySQL Enterprise Advisor
- è¨å®ãã»ãã¥ãªãã£ï¼ã¢ãããã¼ããã«ã¹ã¿ãã¤ãºãªã©ã®ç®¡çæ©è½
- Replication ã®é 延ãã¡ã¢ãªã®ä½¿ç¨çãªã©ã®çµ±è¨ã»ç£è¦
- Schema/Performance ãªã©ã®è§£æã¨ãã¥ã¼ãã³ã°
- äºæããªãå¤æ´ã»æ´æ°ãªã©ã®æ¤ç¥
åé¡ã®è§£æ±ºã«åãã¦
- Common Pain Points
- ãã¼ã¿ã®å©ç¨å´é¢ã¨å©ç¨çã®è¦è¾¼ã¿ã®çã
- Slow Query Log
- é ãã¯ã¨ãªã¼ã®æ¤åº
- ã¤ã³ããã¯ã¹ä½¿ã£ã¦ãããã©ããã調ã¹ããã
- SHOW PROCESSLIST
- on-time ã®ããã»ã¹ä¸è¦§ãè¦ãã
- EXPLAIN
- ã¤ã³ããã¯ã¹ãã©ã®ããã«ä½¿ããã¦ããã®ããããã
Query Analyzer
- ç¹å¾´
- ãªã¢ã«ã¿ã¤ã ã«ãåé¡ããã¯ã¨ãªã¼ãã®æ¤åºãã§ãã
- æªãã¯ã¨ãªã¼ã®æ¤åº
- ã¯ã¨ãªã¼ã® EXPLAIN
- Enterprise Monitor ã«çµ±åããã
- MySQL Proxy ä¸ã§åãã¦ãã
- Proxy ãéããã¨ã«ããããã©ã¼ãã³ã¹ã®å£åããããï¼ä¸å¿ããã¥ã¡ã³ãåããã¦ãã
- 表示ããæ
å ±
- åã¯ã¨ãªã¼ã®æ
å ±ãä¸è¦§ã§è¡¨ç¤ºå¯è½
- å®è¡åæ°
- æçæé
- æéæé
- ä¸å®æéå
ã®å®è¡æéç·è¨
- ã©ããªã¯ã¨ãªã¼ããã¼ã¿ãã¼ã¹å ã§æéãæ¶è²»ãã¦ããã®ããããã
- Slow Query Log/SHOW PROCESSLIST ã«ä¾åããªãã®ã§ï¼ãµã¼ãåèµ·åãªã©å¿ è¦ãªã
- åã¯ã¨ãªã¼ã®æ
å ±ãä¸è¦§ã§è¡¨ç¤ºå¯è½
Q&A
- å°æ¥çã«ã¯ Workbench ã«çµ±åãããè¨ç»ã®ããã
Life-X ã«ããã MySQL å°å ¥äºä¾ç´¹ä»
- ã©ã¤ããã°ãµã¼ãã¹
- ã¯ãã¼ãºãβã§å ¬éä¸
ã½ãã¼ãã¼ã±ãã£ã³ã°æ¦è¦
- ã½ãã¼ååã®è²©å£²ã¨ä¿é²
- æ°è¦ãã¸ãã¹éçºé¨éããã
Life-X ã¨ã¯ï¼
Life-X æ§ç¯ã«ã¤ãã¦
- æ´æ°ã»åç §ã¨ãã«å¤ãã®ã§ï¼åæ£ã大å¤ããã
Backup Best Practices BoF Tokyo
åºæ¬çãªããã¯ã¢ãã
- åæã¨ãã¦
- binlog 㨠ãã¼ã¿æ¬ä½ã® HDD ã¯åãã¦ã
- binlog 㯠on ã«ãã¦ãã
- ã©ããã§ãã«ããã¯ã¢ãããã¨ã
- binlog ã¨ã¯
- COMMITã®ã¿ã¤ãã³ã°ã§å¤æ´ç¹ã¾ããã¨æ¸ãåºããã
- åæ¸ãè¾¼ã¿æ¯ã«ä½ç½®(position)ãå²ãå½ã¦ããã
- ããã¯ã¢ããæã« master_log_pos ãã¨ã£ã¦ããã°ï¼ã©ãã¾ã§ããã¯ã¢ããããããããã
- ããã£ã¨ï¼(HDDå ¨æ)
- HDDæ°èª¿
- ããã¯ã¢ãããããªã¹ãã¢ãã¦ãï¼ããã¯ã¢ããå¾ã®æ´æ°ã¯åæ ãããªã
- ããã¯ã¢ããã®ãã¸ã·ã§ã³ããããããéè¦
- mysqlbinlog ãã¤ããã¨ï¼ãããã°ãã¡ã¤ã«ã®ãããã¸ã·ã§ã³ããã® SQL ãåãåºããã¨ãã§ãã
$ mysqlbinlog --start-position=3356424 binlog.000039 | mysql
ããã¯ã¢ããã®æ¹æ³
- ããã¯ã¢ããã®ç¨®é¡
- Warm/Hot/Cold
- 対å¿ã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³
- è«ç(Statement-base)/ç©ç(ãã¡ã¤ã«ã³ãã¼ç)
- æå/ç¡å
- SQL åãã¼ã¹
- ç¹å®ã®ãã¼ã¿ã ããããã¯ã¢ãããªã©å¯è½
- mysqldump
- InnoDB ã 㨠SINGLE TRANSACTION ã«ãããã¨ã§ HOT Backup ãå¯è½
- OS ã®ãã¡ã¤ã«ã³ãã¼
- /var/db/mysql/data ãªã©ãã³ãã¼ãã¦ããã¯ã¢ãã
- mysqlhotcopy
- ãã¹ã¦ã®ãã¼ãã«ã«ããã¯ãããã¦ãã¡ã¤ã«ã³ãã¼ããã¹ã¯ãªãã
- Memory/InnoDB/NDB 以å¤ã¯ãããã対å¿(表é åã使ããªãã¨ã³ã¸ã³)
- MySQL Administrator
- GUI 㧠Warm Backup
- ã¬ããªã±ã¼ã·ã§ã³
- ããã¯ã¢ããã¹ã¬ã¼ãã¨ãã¦
- ã¹ãããã·ã§ãã
- ãã¡ã¤ã«ã·ã¹ãã ã®ã¹ãããã·ã§ããæ©è½ã使ã£ã¦ããã¯ã¢ãã
- InnDB Hot Backup
- Zmanda Recovery Manager
- MySQL Parallel Dump
- MySQL Forge ã Sourceforge ã«ããï¼
MySQL 6.0 ã®ãã¢
- 幻㮠MySQL 5.2.4
- BACKUP DATABASE [database names] TO 'FILE_PATH';
- RESTORE FROM 'FILE_PATH';
- ããã¯ã¢ããå¦çã Driver ã§ããã Engine å´ã§ããã®ããè°è«ããã
- MySQL 6.0.6 ã§ã¯ MyISAM ã Hot Backup å¯è½
- ããã¯ã¢ããä¸ã« DDL(ALTER TABLE ãªã©) ã¯å®è¡ã§ããªã
- MySQL 6.1 ã§ã¯å®è¡å¯è½ã«ãªãäºå®
InnoDB Hot Backup vs. mysqldump --single-transaction --master-data
- InnoDB Hot Backup
- ãã¡ã¤ã«ããã£ããã³ãã¼
- ããã¯ã¢ããéå§æç¹ã§ã® InnoDB å é¨ãã°ã®ä½ç½®ãè¨é²
- ãã¡ã¤ã«ã³ãã¼çµäºæç¹ã§ã® InnoDB å é¨ãã°ã®ä½ç½®ããï¼éå§ãçµäºã¾ã§ã® redolog ãæãåºãã¦ä¸ç·ã«ããã¯ã¢ãã
- ãªã¹ãã¢ããã¨ãã¯ï¼ãã¡ã¤ã«ã³ãã¼ããã¦ãã redolog ãé©ç¨ãã
- mysqldump
- --single-transaction --master-data ãã¤ããã¨ï¼TRANSACTION ãèµ°ãï¼ãã®ä¸ã§ SELECT ãå®è¡ãããã®ã§ããã¯ã¢ããéå§æç¹ã§ã®ãã¼ã¿ã§ãããã¨ãä¿è¨¼ãããï¼
- mysqldump -> mysqld -> FileSystem -> mysqld -> mysqldump ã¨ãªãï¼ãªã¼ãã¼ãããããã
- RESTORE ã®ã¨ã㯠SQL ã parse ãããããã®ã§éã
å±ç¤ºã»ãã·ã§ã³ã«ã¦
- SPIDER ENGINE
- αçã ãï¼å 容ãèãéãã§ã¯ããªãæå¾ å¤§
- GPLã§å ¬éãªã®ã§ï¼å®é¨ã«ä½¿ãã®ã¯ãããããããªãï¼