±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚcsdn£¬±¾ÎÄÖ÷Òª½éÉÜÁËInnoDB±íµÄ×é³É½á¹¹£¬²¢ÇÒ¶Ô×é³ÉµÄÎļþ½øÐÐÁËÏêϸµÄ½âÊÍ£¬Ï£Íû¶ÔÄúÄÜÓÐËù°ïÖú¡£ |
|
´ÓÎïÀíÒâÒåÉÏÀ´½²£¬InnoDB±íÓɹ²Ïí±í¿Õ¼äÎļþ£¨ibdata1£©¡¢¶ÀÕ¼±í¿Õ¼äÎļþ£¨ibd£©¡¢±í½á¹¹Îļþ£¨.frm£©¡¢ÒÔ¼°ÈÕÖ¾Îļþ£¨redoÎļþµÈ£©×é³É¡£
1¡¢±í½á¹¹Îļþ
ÔÚMYSQLÖн¨Á¢ÈκÎÒ»ÕÅÊý¾Ý±í£¬ÔÚÆäÊý¾ÝĿ¼¶ÔÓ¦µÄÊý¾Ý¿âĿ¼Ï¶¼ÓжÔÓ¦±íµÄ.frmÎļþ,.frmÎļþÊÇÓÃÀ´±£´æÃ¿¸öÊý¾Ý±íµÄÔªÊý¾Ý(meta)ÐÅÏ¢£¬°üÀ¨±í½á¹¹µÄ¶¨ÒåµÈ£¬.frmÎļþ¸úÊý¾Ý¿â´æ´¢ÒýÇæÎ޹أ¬Ò²¾ÍÊÇÈκδ洢ÒýÇæµÄÊý¾Ý±í¶¼±ØÐëÓÐ.frmÎļþ£¬ÃüÃû·½Ê½ÎªÊý¾Ý±íÃû.frm£¬Èçuser.frm.
.frmÎļþ¿ÉÒÔÓÃÀ´ÔÚÊý¾Ý¿â±ÀÀ£Ê±»Ö¸´±í½á¹¹¡£
2¡¢±í¿Õ¼äÎļþ
£¨1£©±í¿Õ¼ä½á¹¹·ÖÎö
ÒÔÏÂΪInnoDBµÄ±í¿Õ¼ä½á¹¹Í¼£º

Êý¾Ý¶Î¼´B+Ê÷µÄÒ¶×ӽڵ㣬Ë÷Òý¶Î¼´ÎªB+Ê÷µÄ·ÇÒ¶×Ó½Úµã
InnoDB´æ´¢ÒýÇæµÄ¹ÜÀíÊÇÓÉÒýÇæ±¾ÉíÍê³ÉµÄ£¬±í¿Õ¼ä£¨Tablespace£©ÊÇÓÉ·ÖÉ¢µÄ¶Î(Segment)×é³É¡£Ò»¸ö¶Î(Segment)°üº¬¶à¸öÇø£¨Extent£©¡£
Çø£¨Extent£©ÓÉ64¸öÁ¬ÐøµÄÒ³£¨Page£©×é³É£¬Ã¿¸öÒ³´óСΪ16K£¬¼´Ã¿¸öÇø´óСΪ1MB£¬´´½¨Ð±íʱ£¬ÏÈʹÓÃ32Ò³´óСµÄËéÆ¬Ò³´æ·ÅÊý¾Ý£¬Ê¹ÓÃÍêºó²ÅÊÇÇøµÄÉêÇ루InnoDB×î¶àÿ´ÎÉêÇë4¸öÇø£¬±£Ö¤Êý¾ÝµÄ˳ÐòÐÔÄÜ£©
Ò³ÀàÐÍÓУºÊý¾ÝÒ³¡¢UndoÒ³¡¢ÏµÍ³Ò³¡¢ÊÂÎñÊý¾ÝÒ³¡¢²åÈ뻺³åλͼҳ¡¢ÒÔ¼°²åÈ뻺³å¿ÕÏÐÁбíÒ³¡£
£¨2£©¶ÀÕ¼±í¿Õ¼äÎļþ
Èô½«innodb_file_per_tableÉèÖÃΪon£¬Ôòϵͳ½«ÎªÃ¿Ò»¸ö±íµ¥¶ÀµÄÉú³ÉÒ»¸ötable_name.ibdµÄÎļþ£¬ÔÚ´ËÎļþÖУ¬´æ´¢Óë¸Ã±íÏà¹ØµÄÊý¾Ý¡¢Ë÷Òý¡¢±íµÄÄÚ²¿Êý¾Ý×ÖµäÐÅÏ¢¡£
£¨3£©¹²Ïí±í¿Õ¼äÎļþ
ÔÚInnoDB´æ´¢ÒýÇæÖУ¬Ä¬Èϱí¿Õ¼äÎļþÊÇibdata1£¨Ö÷Òª´æ´¢µÄÊǹ²Ïí±í¿Õ¼äÊý¾Ý£©£¬³õʼ»¯Îª10M£¬ÇÒ¿ÉÒÔÀ©Õ¹£¬ÈçÏÂͼËùʾ£º

ʵ¼ÊÉÏ£¬InnoDBµÄ±í¿Õ¼äÎļþÊÇ¿ÉÒÔÐ޸ĵģ¬Ê¹ÓÃÒÔÏÂÓï¾ä¾Í¿ÉÒÔÐ޸ģº
Innodb_data_file_path=ibdata1:370M£»ibdata2:50M:autoextend
ʹÓù²Ïí±í¿Õ¼ä´æ´¢·½Ê½Ê±£¬InnodbµÄËùÓÐÊý¾Ý±£´æÔÚÒ»¸öµ¥¶ÀµÄ±í¿Õ¼äÀïÃæ£¬¶øÕâ¸ö±í¿Õ¼ä¿ÉÒÔÓɺܶà¸öÎļþ×é³É£¬Ò»¸ö±í¿ÉÒÔ¿ç¶à¸öÎļþ´æÔÚ£¬ËùÒÔÆä´óСÏÞÖÆ²»ÔÙÊÇÎļþ´óСµÄÏÞÖÆ£¬¶øÊÇÆä×ÔÉíµÄÏÞÖÆ¡£´ÓInnodbµÄ¹Ù·½ÎĵµÖпÉÒÔ¿´µ½£¬Æä±í¿Õ¼äµÄ×î´óÏÞÖÆÎª64TB£¬Ò²¾ÍÊÇ˵£¬InnodbµÄµ¥±íÏÞÖÆ»ù±¾ÉÏÒ²ÔÚ64TB×óÓÒÁË£¬µ±È»Õâ¸ö´óСÊǰüÀ¨Õâ¸ö±íµÄËùÓÐË÷ÒýµÈÆäËûÏà¹ØÊý¾Ý¡£
¶øÔÚʹÓõ¥¶À±í¿Õ¼ä´æ´¢·½Ê½Ê±£¬Ã¿¸ö±íµÄÊý¾ÝÒÔÒ»¸öµ¥¶ÀµÄÎļþÀ´´æ·Å£¬Õâ¸öʱºòµÄµ¥±íÏÞÖÆ£¬ÓÖ±ä³ÉÎļþϵͳµÄ´óСÏÞÖÆÁË¡£
ÒÔϼ´Îª²»Í¬Æ½Ì¨Ï£¬µ¥¶À±í¿Õ¼äÎļþ×î´óÏÞ¶È¡£
Operating System File-size Limit
Win32 w/ FAT/FAT32 2GB/4GB
Win32 w/ NTFS 2TB (possibly larger)
Linux 2.4+ (using ext3 file system) 4TB
Solaris 9/10 16TB
MacOS X w/ HFS+ 2TB
NetWare w/NSS file system 8TB
¡ù ÒÔÏÂÊÇMySQLÎĵµÖеÄÄÚÈÝ£º
WindowsÓû§Çë×¢Ò⣺ FATºÍVFAT (FAT32)²»ÊʺÏMySQLµÄÉú²úʹÓá£Ó¦Ê¹ÓÃNTFS¡£
£¨4£©¹²Ïí±í¿Õ¼äÓë¶ÀÕ¼±í¿Õ¼ä
¹²Ïí±í¿Õ¼äÒÔ¼°¶ÀÕ¼±í¿Õ¼ä¶¼ÊÇÕë¶ÔÊý¾ÝµÄ´æ´¢·½Ê½¶øÑԵġ£
¹²Ïí±í¿Õ¼ä: ijһ¸öÊý¾Ý¿âµÄËùÓеıíÊý¾Ý£¬Ë÷ÒýÎļþÈ«²¿·ÅÔÚÒ»¸öÎļþÖУ¬Ä¬ÈÏÕâ¸ö¹²Ïí±í¿Õ¼äµÄÎļþ·¾¶ÔÚdataĿ¼Ï¡£
ĬÈϵÄÎļþÃûΪ:ibdata1 ³õʼ»¯Îª10M¡£
¶ÀÕ¼±í¿Õ¼ä: ÿһ¸ö±í¶¼½«»áÉú³ÉÒÔ¶ÀÁ¢µÄÎļþ·½Ê½À´½øÐд洢£¨.ibdÎļþ£¬Õâ¸öÎļþ°üÀ¨Á˵¥¶ÀÒ»¸ö±íµÄÊý¾ÝÄÚÈÝÒÔ¼°Ë÷ÒýÄÚÈÝ)¡£
1£©´æ´¢ÄÚÈݱȽÏ
ʹÓöÀÕ¼±í¿Õ¼äÖ®ºó£º
ÿ¸ö±í¶ÔÓ¦µÄÊý¾Ý¡¢Ë÷ÒýºÍ²åÈ뻺³å ´æ·ÅÔÚ¶ÀÕ¼±í¿Õ¼ä£¨.idbÎļþ£©
ÿ¸ö±í¶ÔÓ¦µÄ³·Ïú£¨undo£©ÐÅÏ¢£¬ÏµÍ³ÊÂÎñÐÅÏ¢£¬¶þ´Îд»º³åµÈ»¹ÊÇ´æ·ÅÔÚÁËÔÀ´µÄ¹²Ïí±í¿Õ¼äÄÚ£¨ibdata1Îļþ£©
2£©Ìصã±È½Ï
¾ßÌåµÄ¹²Ïí±í¿Õ¼äºÍ¶ÀÁ¢±í¿Õ¼äÓÅȱµãÈçÏ£º
¹²Ïí±í¿Õ¼ä£º
Óŵ㣺
¿ÉÒԷűí¿Õ¼ä·Ö³É¶à¸öÎļþ´æ·Åµ½¸÷¸ö´ÅÅÌÉÏ£¨±í¿Õ¼äÎļþ´óС²»Êܱí´óСµÄÏÞÖÆ£¬ÈçÒ»¸ö±í¿ÉÒÔ·Ö²¼ÔÚ²»Í¬µÄÎļþÉÏ£©¡£
Êý¾ÝºÍÎļþ·ÅÔÚÒ»Æð·½±ã¹ÜÀí¡£
ȱµã£º
ËùÓеÄÊý¾ÝºÍË÷Òý´æ·Åµ½Ò»¸öÎļþÖУ¬Ôò½«ÓÐÒ»¸öºÜ³£´óµÄÎļþ£¬ËäÈ»¿ÉÒÔ°ÑÒ»¸ö´óÎļþ·Ö³É¶à¸öСÎļþ£¬µ«ÊǶà¸ö±í¼°Ë÷ÒýÔÚ±í¿Õ¼äÖлìºÏ´æ´¢£¬ÕâÑù¶ÔÓÚÒ»¸ö±í×öÁË´óÁ¿É¾³ý²Ù×÷ºó±í¿Õ¼äÖн«»áÓдóÁ¿µÄ¿Õ϶£¬ÌرðÊǶÔÓÚͳ¼Æ·ÖÎö£¬ÈÕ־ϵͳÕâÀàÓ¦ÓÃ×î²»ÊʺÏÓù²Ïí±í¿Õ¼ä¡£
¶ÀÁ¢±í¿Õ¼ä£º£¨ÔÚÅäÖÃÎļþ£¨my.cnf£©ÖÐÉèÖà innodb_file_per_table£©
Óŵ㣺
1£®Ã¿¸ö±í¶¼ÓÐ×ÔÒѶÀÁ¢µÄ±í¿Õ¼ä¡£
2£®Ã¿¸ö±íµÄÊý¾ÝºÍË÷Òý¶¼»á´æÔÚ×ÔÒѵıí¿Õ¼äÖС£
3£®¿ÉÒÔʵÏÖµ¥±íÔÚ²»Í¬µÄÊý¾Ý¿âÖÐÒÆ¶¯¡£
4£®¿Õ¼ä¿ÉÒÔ»ØÊÕ
¶ÔÓÚʹÓöÀÁ¢±í¿Õ¼äµÄ±í£¬²»¹ÜÔõôɾ³ý£¬±í¿Õ¼äµÄË鯬²»»áÌ«ÑÏÖØµÄÓ°ÏìÐÔÄÜ£¬¶øÇÒ»¹Óлú»á´¦Àí¡£
a)Drop table²Ù×÷×Ô¶¯»ØÊÕ±í¿Õ¼ä
b£©Èç¹û¶ÔÓÚͳ¼Æ·ÖÎö»òÊÇÈÕÖµ±í£¬É¾³ý´óÁ¿Êý¾Ýºó¿ÉÒÔͨ¹ý:alter table TableName
engine=innodb;»ØËõ²»ÓõĿռ䡣
c) ¶ÔÓÚʹinnodb-pluginµÄInnodbʹÓÃtruncate tableÒ²»áʹ¿Õ¼äÊÕËõ¡£
5¡¢ÔÚ·þÎñÆ÷×ÊÔ´ÓÐÏÞ,µ¥±íÊý¾Ý²»ÊÇÌØ±ð¶àµÄÇé¿öÏÂ, ¶ÀÁ¢±í¿Õ¼äÃ÷ÏԱȹ²Ïí·½Ê½Ð§Âʸü¸ß . µ«ÊÇMySQL
ĬÈÏÊǹ²Ïí±í¿Õ¼ä ¡£
ȱµã£º
µ¥±íÌå»ý¿ÉÄܹý´ó£¬È糬¹ý100¸öG¡£
3£©¹²Ïí±í¿Õ¼äÒÔ¼°¶ÀÕ¼±í¿Õ¼äÖ®¼äµÄת»¯
Ð޸ĶÀÕ¼¿Õ±í¿Õ¼äÅäÖã¬ÅäÖÃÒÔϲÎÊý
innodb_data_home_dir = "/user/local/mysql/var"
Êý¾Ý¿âÎļþËù´æ·ÅµÄĿ¼
innodb_log_group_home_dir = "/user/local/mysql/var"
ÈÕÖ¾´æ·ÅĿ¼
innodb_data_file_path=ibdata1:10M:autoextend ÉèÖÃÅäÖÃÒ»¸ö¿ÉÀ©Õ¹´óСµÄ³ß´çΪ10MBµÄµ¥¶ÀÎļþ£¨¹²ÏíÊý¾ÝÎļþ£©£¬ÃûΪibdata1¡£Ã»Óиø³öÎļþµÄλÖã¬ËùÒÔĬÈϵÄÊÇÔÚMySQLµÄÊý¾ÝĿ¼ÄÚ¡£
innodb_file_per_table=1 ÊÇ·ñʹÓù²Ïí»¹ÊǶÀÕ¼±í¿Õ¼ä (1:ΪʹÓöÀÕ¼±í¿Õ¼ä,0:ΪʹÓù²Ïí±í¿Õ¼ä)
²é¿´innodb_file_per_table ±äÁ¿£¬Èç¹ûΪOFF˵Ã÷ËùʹÓõÄÊǹ²Ïí±í¿Õ¼ä(ĬÈÏÇé¿öÏ£¬ËùʹÓõıí¿Õ¼äΪ¹²Ïí±í¿Õ¼ä)
¶Ôinnodb_file_per_table ½øÐÐÐÞ¸Äʱ£¬¶ÔÓÚ֮ǰʹÓùýµÄ¹²Ïí±í¿Õ¼ä²»»áÓ°Ï죬³ý·ÇÊÖ¶¯µÄÈ¥½øÐÐÐÞ¸Ä
×¢Ò⣺
InnoDB²»´´½¨Ä¿Â¼£¬ËùÒÔÔÚÆô¶¯·þÎñÆ÷֮ǰÇëÈ·ÈÏËùÅäÖõÄ·¾¶Ä¿Â¼´æÔÚ¡£
×öÊý¾ÝµÄÒÆÖ²ÒÔ¼°±¸·Ýʱ£¬Òª×¢ÒâÊý¾ÝÎļþµÄÍêÕûÐÔ.
|