ºìÁªLinuxÃÅ»§
Linux°ïÖú

MysqlÖÐmysqldumpÃüÁîʹÓÃÏê½â

·¢²¼Ê±¼ä:2006-06-06 11:48:29À´Ô´:ºìÁª×÷Õß:»ð
MySQLÓкܶà¿ÉÒÔµ¼ÈëÊý¾ÝµÄ·½·¨£¬È»¶øÕâЩֻÊÇÊý¾Ý´«ÊäÖеÄÒ»°ë£¬ÁíÍâµÄÒ»°ãÊÇ´ÓMySQLÊý¾Ý¿âÖе¼³öÊý¾Ý¡£ÓÐÐí¶àµÄÔ­ÒòÎÒÃÇÐèÒªµ¼³öÊý¾Ý¡£Ò»¸öÖØÒªµÄÔ­ÒòÊÇÓÃÓÚ±¸·ÝÊý¾Ý¿â¡£Êý¾ÝµÄÔì¼Û³£³£ÊÇ°º¹óµÄ£¬ÐèÒª½÷É÷´¦ÀíËüÃÇ¡£¾­³£µØ±¸·Ý¿ÉÒÔ°ïÖú·ÀÖ¹±¦¹óÊý¾ÝµØ¶ªÊ§£»ÁíÍâÒ»¸öÔ­ÒòÊÇ£¬Ò²ÐíÄúÏ£Íûµ¼³öÊý¾ÝÀ´¹²Ïí¡£ ÔÚÕâ¸öÐÅÏ¢¼¼Êõ²»¶Ï³É³¤µÄÊÀ½çÖУ¬¹²ÏíÊý¾Ý±äµÃÔ½À´Ô½³£¼û¡£

¡¡¡¡±È·½ËµMacmillan USAά»¤»¤×ÅÒ»¸ö½«Òª³ö°æµÄÊé¼®µÄ´óÐÍÊý¾Ý¿â¡£Õâ¸öÊý¾Ý¿âÔÚÐí¶àÊéµêÖ®¼ä¹²Ïí£¬ÕâÑùËûÃǾÍÖªµÀÄÄЩÊ齫»áºÜ¿ì³ö°æ¡£Ò½ÔºÔ½À´Ô½×ßÏò²ÉÓÃÎÞÖ½²¡Àú¼Ç¼£¬ÕâÑùÕâЩ²¡Àú¿ÉÒÔËæʱ¸ú×ÅÄã¡£ÊÀ½ç±äµÃÔ½À´Ô½Ð¡£¬ÐÅÏ¢Ò²±»¹²ÏíµÃÔ½À´Ô½¶à¡£ÓкܶàÖе¼³öÊý¾ÝµÃ·½·¨£¬ËüÃǶ¼¸úµ¼ÈëÊý¾ÝºÜÏàËÆ¡£ÒòΪ£¬±Ï¾¹£¬ÕâЩ¶¼Ö»ÊÇÒ»ÖÖ͸Êӵ÷½Ê½¡£´ÓÊý¾Ý¿âµ¼³öµÄÊý¾Ý¾ÍÊÇ´ÓÁíÒ»¶Ëµ¼ÈëµÄÊý¾Ý¡£ÕâÀïÎÒÃDz¢²»ÌÖÂÛÆäËûµÄÊý¾Ý¿â¸÷ÖÖ¸÷ÑùµÄµ¼³öÊý¾ÝµÄ·½·¨£¬Äú½«Ñ§»áÈçºÎÓÃMySQLÀ´ÊµÏÖÊý¾Ýµ¼³ö¡£
¡¡¡¡
¡¡¡¡Ê¹ÓÃmysqldump:
¡¡¡¡
¡¡¡¡(mysqldumpÃüÁîλÓÚmysql/bin/Ŀ¼ÖÐ)

¡¡¡¡mysqldump¹¤¾ßºÜ¶à·½ÃæÀàËÆÏà·´×÷ÓõŤ¾ßmysqlimport¡£ËüÃÇÓÐһЩͬÑùµÄÑ¡Ïî¡£µ«mysqldumpÄܹ»×ö¸ü¶àµÄÊÂÇé¡£Ëü¿ÉÒÔ°ÑÕû¸öÊý¾Ý¿â×°Ôص½Ò»¸öµ¥¶ÀµÄÎı¾ÎļþÖС£Õâ¸öÎļþ°üº¬ÓÐËùÓÐÖؽ¨ÄúµÄÊý¾Ý¿âËùÐèÒªµÄSQLÃüÁî¡£Õâ¸öÃüÁîÈ¡µÃËùÓеÄģʽ£¨Schema£¬ºóÃæÓнâÊÍ£©²¢ÇÒ½«Æäת»»³ÉDDLÓï·¨£¨CREATEÓï¾ä£¬¼´Êý¾Ý¿â¶¨ÒåÓï¾ä£©£¬È¡µÃËùÓеÄÊý¾Ý£¬²¢ÇÒ´ÓÕâЩÊý¾ÝÖд´½¨INSERTÓï¾ä¡£Õâ¸ö¹¤¾ß½«ÄúµÄÊý¾Ý¿âÖÐËùÓеÄÉè¼Æµ¹×ª¡£ÒòΪËùÓеĶ«Î÷¶¼±»°üº¬µ½ÁËÒ»¸öÎı¾ÎļþÖС£Õâ¸öÎı¾Îļþ¿ÉÒÔÓÃÒ»¸ö¼òµ¥µÄÅú´¦ÀíºÍÒ»¸öºÏÊÊSQLÓï¾äµ¼»Øµ½MySQLÖС£Õâ¸ö¹¤¾ßÁîÈËÄÑÒÔÖÃÐŵؼòµ¥¶ø¿ìËÙ¡£¾ö²»»áÓаëµãÈÃÈËÍ·Ì۵صط½¡£
¡¡¡¡
¡¡¡¡Òò´Ë£¬Èç¹ûÄúÏñ×°ÔØÕû¸öÊý¾Ý¿âMeet_A_GeekµÄÄÚÈݵ½Ò»¸öÎļþÖУ¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

¡¡¡¡bin/mysqldump -p Meet_A_Geek > MeetAGeek_Dump_File.txt
¡¡¡¡
¡¡¡¡Õâ¸öÓï¾äÒ²ÔÊÐíÄúÖ¸¶¨Ò»¸ö±í½øÐÐdump(±¸·Ý/µ¼³ö/×°ÔØ?)¡£Èç¹ûÄúÖ»ÊÇÏ£Íû°ÑÊý¾Ý¿âMeet_A_GeekÖеıíOrdersÖеÄÕû¸öÄÚÈݵ¼³öµ½Ò»¸öÎļþ£¬¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

¡¡¡¡bin/mysqldump -p Meet_A_Geek Orders >MeetAGeek_Orders.txt
¡¡¡¡
¡¡¡¡Õâ¸ö·Ç³£µÄÁé»î£¬ÄúÉõÖÁ¿ÉÒÔʹÓÃWHERE´Ó¾äÀ´Ñ¡ÔñÄúÐèÒªµÄ¼Ç¼µ¼³öµ½ÎļþÖС£Òª´ïµ½ÕâÑùµÄÄ¿µÄ£¬¿ÉÒÔʹÓÃÀàËÆÓÚÏÂÃæµÄÃüÁ

¡¡¡¡bin/mysqldump -p -where="Order_ID > 2000" Meet_A_Geek Orders > Special_Dump.txt
¡¡¡¡
¡¡¡¡mysqldump¹¤¾ßÓдóÁ¿µÄÑ¡Ï²¿·ÖÑ¡ÏîÈçÏÂ±í£º

¡¡¡¡Ñ¡Ïî/Option ×÷ÓÃ/Action Performed

--add-drop-table

¡¡¡¡Õâ¸öÑ¡Ï»áÔÚÿһ¸ö±íµÄÇ°Ãæ¼ÓÉÏDROP TABLE IF EXISTSÓï¾ä£¬ÕâÑù¿ÉÒÔ±£Ö¤µ¼»ØMySQLÊý¾Ý¿âµÄʱºò²»»á³ö´í£¬ÒòΪÿ´Îµ¼»ØµÄʱºò£¬¶¼»áÊ×Ïȼì²é±íÊÇ·ñ´æÔÚ£¬´æÔÚ¾Íɾ³ý

¡¡¡¡--add-locks

¡¡¡¡Õâ¸öÑ¡Ïî»áÔÚINSERTÓï¾äÖÐÀ¦ÉÏÒ»¸öLOCK TABLEºÍUNLOCK TABLEÓï¾ä¡£Õâ¾Í·ÀÖ¹ÔÚÕâЩ¼Ç¼±»Ôٴε¼ÈëÊý¾Ý¿âʱÆäËûÓû§¶Ô±í½øÐеIJÙ×÷
¡¡¡¡
¡¡¡¡-c or - complete_insert

¡¡¡¡Õâ¸öÑ¡ÏîʹµÃmysqldumpÃüÁî¸øÿһ¸ö²úÉúINSERTÓï¾ä¼ÓÉÏÁУ¨field£©µÄÃû×Ö¡£µ±°ÑÊý¾Ýµ¼³öµ¼ÁíÍâÒ»¸öÊý¾Ý¿âʱÕâ¸öÑ¡ÏîºÜÓÐÓá£

¡¡¡¡--delayed-insert ÔÚINSERTÃüÁîÖмÓÈëDELAYÑ¡Ïî

¡¡¡¡-F or -flush-logs ʹÓÃÕâ¸öÑ¡ÏÔÚÖ´Ðе¼³ö֮ǰ½«»áË¢ÐÂMySQL·þÎñÆ÷µÄlog.

¡¡¡¡-f or -force ʹÓÃÕâ¸öÑ¡Ï¼´Ê¹ÓдíÎó·¢Éú£¬ÈÔÈ»¼ÌÐøµ¼³ö

¡¡¡¡--full Õâ¸öÑ¡Ïî°Ñ¸½¼ÓÐÅÏ¢Ò²¼Óµ½CREATE TABLEµÄÓï¾äÖÐ

¡¡¡¡-l or -lock-tables ʹÓÃÕâ¸öÑ¡Ïµ¼³ö±íµÄʱºò·þÎñÆ÷½«»á¸ø±í¼ÓËø¡£

¡¡¡¡-t or -no-create- info

¡¡¡¡Õâ¸öÑ¡ÏîʹµÄmysqldumpÃüÁî²»´´½¨CREATE TABLEÓï¾ä£¬Õâ¸öÑ¡ÏîÔÚÄúÖ»ÐèÒªÊý¾Ý¶ø²»ÐèÒªDDL£¨Êý¾Ý¿â¶¨ÒåÓï¾ä£©Ê±ºÜ·½±ã¡£
¡¡¡¡
¡¡¡¡-d or -no-data Õâ¸öÑ¡ÏîʹµÄmysqldumpÃüÁî²»´´½¨INSERTÓï¾ä¡£

ÔÚÄúÖ»ÐèÒªDDLÓï¾äʱ£¬¿ÉÒÔʹÓÃÕâ¸öÑ¡Ïî¡£

¡¡¡¡--opt ´ËÑ¡Ï´ò¿ªËùÓлáÌá¸ßÎļþµ¼³öËٶȺʹ´ÔìÒ»¸ö¿ÉÒÔ¸ü¿ìµ¼ÈëµÄÎļþµÄÑ¡Ïî¡£

¡¡¡¡-q or -quick Õâ¸öÑ¡ÏîʹµÃMySQL²»»á°ÑÕû¸öµ¼³öµÄÄÚÈݶÁÈëÄÚ´æÔÙÖ´Ðе¼³ö£¬¶øÊÇÔÚ¶Áµ½µÄʱºò¾ÍдÈëµ¼ÎļþÖС£

¡¡¡¡-T path or -tab = path Õâ¸öÑ¡Ï»á´´½¨Á½¸öÎļþ£¬Ò»¸öÎļþ°üº¬DDLÓï¾ä»òÕß±í´´½¨Óï¾ä£¬ÁíÒ»¸öÎļþ°üº¬Êý¾Ý¡£DDLÎļþ±»ÃüÃûΪtable_name.sql,Êý¾ÝÎļþ±»ÃüÃûΪtable_name.txt.·¾¶ÃûÊÇ´æ·ÅÕâÁ½¸öÎļþµÄĿ¼¡£Ä¿Â¼±ØÐëÒѾ­´æÔÚ£¬²¢ÇÒÃüÁîµÄʹÓÃÕßÓжÔÎļþµÄÌØȨ¡£

-w "WHERE Clause" or -where = "Where clause "

¡¡¡¡ÈçÇ°ÃæËù½²µÄ£¬Äú¿ÉÒÔʹÓÃÕâһѡÏîÀ´¹ýɸѡ½«Òª·Åµ½ µ¼³öÎļþµÄÊý¾Ý¡£
¡¡¡¡¼Ù¶¨ÄúÐèҪΪһ¸ö±íµ¥ÖÐÒªÓõ½µÄÕʺŽ¨Á¢Ò»¸öÎļþ£¬¾­ÀíÒª¿´½ñÄ꣨2004Ä꣩ËùÓеĶ©µ¥£¨Orders£©£¬ËüÃDz¢²»¶ÔDDL¸ÐÐËȤ£¬²¢ÇÒÐèÒªÎļþÓжººÅ·Ö¸ô£¬ÒòΪÕâÑù¾ÍºÜÈÝÒ×µ¼Èëµ½ExcelÖС£ ΪÁËÍê³ÉÕâ¸öÈËÎÄú¿ÉÒÔʹÓÃÏÂÃæµÄ¾ä×Ó£º

¡¡¡¡bin/mysqldump -p -where "Order_Date >='2000-01-01'"
¡¡¡¡-tab = /home/mark -no-create-info -fields-terminated-by=, Meet_A_Geek Orders

¡¡¡¡Õ⽫»áµÃµ½ÄúÏëÒªµÄ½á¹û¡£
¡¡¡¡
¡¡¡¡schema£ºÄ£Ê½

¡¡¡¡The set of statements, expressed in data definition language, that completely describe the structure of a data base.

¡¡¡¡Ò»×éÒÔÊý¾Ý¶¨ÒåÓïÑÔÀ´±í´ïµÄÓï¾ä¼¯,¸ÃÓï¾ä¼¯ÍêÕûµØÃèÊöÁËÊý¾Ý¿âµÄ½á¹¹¡£
¡¡¡¡
¡¡¡¡SELECT INTO OUTFILE £º

¡¡¡¡Èç¹ûÄú¾õµÃmysqldump¹¤¾ß²»¹»¿á£¬¾ÍʹÓÃSELECT INTO OUTFILE°É, MySQLͬÑùÌṩһ¸ö¸úLOAD DATA INFILEÃüÁîÓÐÏà·´×÷ÓõÄÃüÁÕâ¾ÍÊÇSELECT INTO OUTFILE ÃüÁÕâÁ½¸öÃüÁîÓкܶàµÄÏàËÆÖ®´¦¡£Ê×ÏÈ£¬ËüÃÇÓÐËùÓеÄÑ¡ÏºõÏàͬ¡£ÏÖÔÚÄúÐèÒªÍê³ÉÇ°ÃæÓÃmysqldumpÍê³ÉµÄ¹¦ÄÜ£¬¿ÉÒÔÒÀÕÕÏÂÃæµÄ²½Öè½øÐвÙ×÷£º
¡¡¡¡
¡¡¡¡1. È·±£mysqld½ø³Ì£¨·þÎñ£©ÒѾ­ÔÚÔËÐÐ

¡¡¡¡2. cd /usr/local/mysql

¡¡¡¡3. bin/mysqladmin ping £»// Èç¹ûÕâ¸ö¾ä×Óͨ²»¹ý£¬¿ÉÒÔÓÃÕâ¸ö£ºmysqladmin -u root -p ping

¡¡¡¡mysqladmin pingÓÃÓÚ¼ì²âmysqldµÄ״̬£¬is alive˵Ã÷ÕýÔÚÔËÐУ¬³ö´íÔò¿ÉÄÜÐèÒªÓû§ÃûºÍÃÜÂë¡£

¡¡¡¡4. Æô¶¯MySQL ¼àÌý³ÌÐò.

¡¡¡¡5. bin/mysql -p Meet_A_Geek£»// ½øÈëmysqlÃüÁîÐУ¬²¢ÇÒ´ò¿ªÊý¾Ý¿âMeet_A_Geek,ÐèÒªÊäÈëÃÜÂë

¡¡¡¡6. ÔÚÃüÁîÐÐÖУ¬ÊäÈëÒ»ÏÂÃüÁî:

¡¡¡¡SELECT * INTO OUTFILE '/home/mark/Orders.txt'
¡¡¡¡FIELDS
¡¡¡¡TERMINATED BY = ','
¡¡¡¡FROM Orders
¡¡¡¡WHERE Order_Date >= '2000-01-01'
¡¡¡¡
¡¡¡¡ÔÚÄã°´ÁËReturn£¨»Ø³µ£©Ö®ºó£¬Îļþ¾Í´´½¨ÁË¡£Õâ¸ö¾ä×Ó¾ÍÏñÒ»¸ö¹æÔòµÄSELECTÓï¾ä£¬Ö»ÊÇ°ÑÏëÆÁÄ»µÄÊä³öÖض¨Ïòµ½ÁËÎļþÖС£ÕâÒâζÕâÄú¿ÉÒÔʹÓÃJOINÀ´ÊµÏÖ¶à±íµÄ¸ß¼¶²éѯ¡£Õâ¸öÌصãÒ²¿ÉÒÔ±»ÓÃ×÷Ò»¸ö±¨±í²úÉúÆ÷¡£
¡¡¡¡
¡¡¡¡±È·½Ëµ£¬Äú¿ÉÒÔ×éºÏÕâÒ»ÕÂÖÐÌÖÂ۵ķ½·¨À´²úÉúÒ»¸ö·Ç³£ÓÐȤµÄ²éѯ£¬ÊÔÊÔÕâ¸ö£º
¡¡¡¡
¡¡¡¡ÔÚmysqlĿ¼½¨Á¢Ò»¸öÃûΪReport_G.rpt µÄÎı¾Îļþ£¬¼ÓÈëÏÂÃæµÄÐУº

¡¡¡¡USE Meet_A_Geek;
¡¡¡¡INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
¡¡¡¡VALUES (NULL, "Kinnard", "Vicky");
¡¡¡¡INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
¡¡¡¡VALUES (NULL, "Kinnard", "Steven");
¡¡¡¡INSERT INTO Customers (Customer_ID, Last_Name, First_Name)
¡¡¡¡VALUES (NULL, "Brown", "Sam");
¡¡¡¡SELECT Last_Name INTO OUTFILE '/home/mark/Report.rpt'
¡¡¡¡FROM Customers WHERE Customer_ID > 1;

¡¡¡¡È»ºóÈ·ÈÏ mysql½ø³ÌÔÚÔËÐУ¬²¢ÇÒÄúÔÚmysqlĿ¼ÖУ¬ ÊäÈëÏÂÃæµÄÃüÁ

¡¡¡¡bin/mysql < Report_G.rpt¼ì²éÄúÃüÃû×÷ΪÊä³öµÄÎļþ£¬Õâ¸öÎļþ½«»á°üº¬ËùÓÐÄúÔÚCustomers±íÖÐÊäÈëµÄ¹Ë¿ÍµÄÐÕ¡£ ÈçÄúËù¼û£¬Äú¿ÉÒÔʹÓýñÌìѧµ½µÄµ¼Èë/µ¼³ö£¨import/export£©µÄ·½·¨À´°ïÖúµÃµ½±¨±í¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ