×÷Ϊһ¿îÃüÁîÐй¤¾ß£¬`mysqldump`Äܹ»ÔÚLinux»·¾³ÏÂÇáËɵ¼³öÊý¾Ý¿âµÄ½á¹¹ºÍÊý¾Ý£¬ÎªÊý¾Ý¿âµÄ°²È«Î¬»¤¡¢°æ±¾Éý¼¶¡¢Êý¾ÝÇ¨ÒÆµÈ¹Ø¼üÈÎÎñÌṩ¼áʵ±£ÕÏ
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎÔÚLinuxϵͳÖиßЧµØÊ¹ÓÃ`mysqldump`£¬º¸Ç´Ó»ù´¡²Ù×÷µ½¸ß¼¶¼¼ÇɵÄÈ«ÃæÖ¸µ¼£¬Ö¼ÔÚ°ïÖú¶ÁÕßÕÆÎÕÕâһǿ´ó¹¤¾ß£¬È·±£Êý¾Ý¿â¹ÜÀíµÄ¸ßЧÓ밲ȫ
Ò»¡¢mysqldump»ù´¡ÈëÃÅ 1.1 °²×°ÓëÑéÖ¤ ÔÚ´ó¶àÊýLinux·¢ÐаæÖУ¬`mysqldump`ͨ³£ËæMySQL·þÎñÆ÷Èí¼þ°üһͬ°²×°
Èç¹ûϵͳÖÐδ°²×°£¬¿ÉÒÔͨ¹ý°ü¹ÜÀíÆ÷½øÐа²×°
ÀýÈ磬ÔÚDebian/UbuntuϵͳÉÏ£¬¿ÉÒÔʹÓÃÒÔÏÂÃüÁ sudo apt-get update sudo apt-get install mysql-client °²×°Íê³Éºó£¬¿ÉÒÔͨ¹ýÔËÐÐ`mysqldump --version`ÑéÖ¤°²×°ÊÇ·ñ³É¹¦£¬²¢²é¿´Æä°æ±¾ºÅ
1.2 »ù±¾Óï·¨ `mysqldump`µÄ»ù±¾Óï·¨ÈçÏ£º mysqldump¡¾options¡¿ database_name¡¾tables¡¿ ÆäÖУ¬`¡¾options¡¿`´ú±í¿ÉÑ¡²ÎÊý£¬ÓÃÓÚÖ¸¶¨±¸·ÝÀàÐÍ¡¢Êä³ö¸ñʽ¡¢Ñ¹Ëõ·½Ê½µÈ£»`database_name`ÊÇÒª±¸·ÝµÄÊý¾Ý¿âÃû³Æ£»`¡¾tables¡¿`£¨¿ÉÑ¡£©Ö¸¶¨Òª±¸·ÝµÄÌØ¶¨±í£¬Èç¹û²»Ö¸¶¨£¬Ôò±¸·ÝÕû¸öÊý¾Ý¿â
1.3 ʾÀý²Ù×÷ ±¸·ÝÕû¸öÊý¾Ý¿â£º mysqldump -u username -p database_name > backup.sql ´ËÃüÁî»áÌáʾÊäÈëÓû§ÃÜÂ룬Ȼºó½«`database_name`Êý¾Ý¿âµÄËùÓбíºÍÊý¾Ýµ¼³öµ½`backup.sql`ÎļþÖÐ
±¸·ÝÌØ¶¨±í£º mysqldump -u username -p database_name table1 table2 > backup_tables.sql Õ⽫½ö±¸·Ý`database_name`ÖеÄ`table1`ºÍ`table2`
¶þ¡¢mysqldump¸ß¼¶Ó÷¨ 2.1 ʹÓÃÑ¡ÏîÓÅ»¯±¸·Ý - --single-transaction£º¶ÔÓÚInnoDB´æ´¢ÒýÇæ£¬´ËÑ¡Ïî¿ÉÒÔ±£Ö¤ÔÚ±¸·Ý¹ý³ÌÖÐÊý¾ÝµÄÒ»ÖÂÐÔ£¬¶øÎÞÐèËø¶¨±í
mysqldump -u username -p --single-transaction database_name > backup.sql - --quick£ºµ±´¦Àí´óÐͱíʱ£¬´ËÑ¡Ïî¿ÉÒÔÖðÐмìË÷Êý¾Ý£¬¼õÉÙÄÚ´æÊ¹ÓÃ
mysqldump -u username -p --quick database_name > backup.sql - --lock-tables£ºÔÚ±¸·ÝMyISAM±íʱ£¬Ê¹ÓôËÑ¡ÏîËø¶¨ËùÓÐ±í£¬ÒÔÈ·±£Êý¾ÝµÄÒ»ÖÂÐÔ
mysqldump -u username -p --lock-tables database_name > backup.sql - --compress, --uncompressed£º¿ØÖÆÊä³öÎļþµÄѹËõ״̬
`--compress`ʹÓÃzlibѹËõÊä³ö£¬¶ø`--uncompressed`Ôò½ûÓÃѹËõ£¨Ä¬ÈÏ£©
mysqldump -u username -p --compress database_name > backup.sql.gz - --routines, --no-routines£º°üº¬»òÅųý´æ´¢¹ý³ÌºÍº¯Êý
mysqldump -u username -p --routines database_name > backup_with_routines.sql - --triggers, --no-triggers£º°üº¬»òÅųý´¥·¢Æ÷
mysqldump -u username -p --triggers database_name > backup_with_triggers.sql 2.2 Êý¾Ý¿â½á¹¹±¸·Ý ÓÐʱ£¬ÎÒÃÇÖ»ÐèÒª±¸·ÝÊý¾Ý¿âµÄ½á¹¹£¨¼´±í½á¹¹¡¢Ë÷Òý¡¢ÊÓͼµÈ£©£¬¶ø²»°üÀ¨Êý¾Ý
Õâʱ¿ÉÒÔʹÓÃ`--no-data`Ñ¡Ïî
mysqldump -u username -p --no-data database_name > schema_only.sql 2.3 ·Ö¸î´óÎļþ ¶ÔÓڷdz£´óµÄÊý¾Ý¿â£¬Ö±½Óµ¼³ö¿ÉÄÜ»áÉú³ÉÒ»¸öÄÑÒÔ¹ÜÀíµÄ³¬´óÎļþ
¿ÉÒÔͨ¹ý·Ö¸î±í»òʹÓÃÍⲿ¹¤¾ß£¨Èç`split`£©À´¹ÜÀí
°´±í·Ö¸î£º ͨ¹ý½Å±¾Öð¸ö±íµ¼³ö£¬È»ºóºÏ²¢
for tablein $(mysql -u username -p -e SHOW TABLES FROMdatabase_name; | awk{print $1}); do mysqldump -u username -pdatabase_name $table >${table}.sql done ʹÓÃsplit·Ö¸îÎļþ£º ÏÈÍêÕûµ¼³ö£¬ÔÙʹÓÃ`split`ÃüÁî·Ö¸î
mysqldump -u username -p database_name > backup.sql split -b 100M backup.sql backup_part_ Õ⽫°Ñ`backup.sql`·Ö¸î³É¶à¸ö100MB´óСµÄÎļþ£¬ÃüÃûΪ`backup_part_aa`¡¢`backup_part_ab`µÈ
2.4 ±¸·ÝÔ¶³ÌÊý¾Ý¿â ͨ¹ýÖ¸¶¨`-h`Ñ¡Ï`mysqldump`¿ÉÒÔ±¸·ÝÔ¶³ÌMySQL·þÎñÆ÷ÉϵÄÊý¾Ý¿â
mysqldump -u username -p -h remote_hostdatab