<< MySQL ¹é¾÷ & º¹±¸Çϱâ >> History : 2007/09/28 : MySQL ÀԷ½à ÇÑ±Û ±úÁö´Â°Í ÇØ°á ¹æ¹ý 2001/10/30 : ¹®¼­ ÃÖÃÊ ÀÛ¼º ############################################################################## ¹é¾÷À» Çϱâ À§Çؼ­´Â mysqldump ¸í·É¾î¸¦ »ç¿ëÇÕ´Ï´Ù. ±×¸®°í, º¹±¸¸¦ Çϱâ À§Çؼ­´Â mysql ¸í·É¾î¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸í·É¾îÀÇ path ¸¦ Àâ¾ÆÁÖ¼¼¿ä.!! Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù. (Âü°í: [] ´Â ¼±Åà Ç׸ñÀÔ´Ï´Ù.) user> mysqldump [-h È£½ºÆ®] [-u »ç¿ëÀÚ] [-p] DB¸í [table¸í]> ¹é¾÷ÆÄÀÏ user> mysql [-h È£½ºÆ®] [-u »ç¿ëÀÚ] [-p] DB¸í < ¹é¾÷ÆÄÀÏ ¿¹Á¦ 1) root ¶ó´Â »ç¿ëÀÚ°¡ mydb ¸¦ ¹é¾÷ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù. ÀÌ·¸°Ô ÇϽøé mydb.sql ÆÄÀÏ¿¡ sql¹®À¸·Î ÀúÀåÀÌ µË´Ï´Ù. user> mysqldump -u root -p mydb > mydb.sql ¿¹Á¦ 2-1) ¹é¾÷µÈ mydb.sql À» newdb ¿¡ ÀÔ·ÂÇÏ´Â ¹æ¹ý user> mysql -u dbakorea -p newdb < mydb.sql ¿¹Á¦ 2-2) ÇѱÛÀÌ ±úÁö´Â °æ¿ì ¹®ÀÚ¼ÂÀ» ¼³Á¤ÇÏ¿© ÀÔ·ÂÇÏ´Â ¹æ¹ý 1. Å×ÀÌºí ¹®Àڼ ȮÀÎ 2. ÀÌ·Â ÆÄÀÏÀÇ ¹®Àڼ ȮÀÎ 3. ¹®Àڼ ÁöÁ¤ ÀÔ·Â user> mysql -u dbakorea -p --default-character-set=euckr newdb < mydb.sql ############################################################################## << ÇüÈ­°¡ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ >> ################### # »ç¿ëÇϱâÀü¿¡ ÇÒÀÏ ################### 1. ÀÛ¾÷À»ÇÒ µð·ºÅ丮(dir/)¸¦ ¸¸µé°í cgi ÆÄÀÏÀ» ¸¸µç µð·ºÅ丮¿¡ º¹»çÇÑ´Ù. ¾ÕÀ¸·Î ÀÛ¾÷µð·ºÅ丮¸¦ dir À̶ó ÇÏ°Ú´Ù. 2. dir ¹Ø¿¡ temp µð·ºÅ丮¸¦ ¸¸µé°í ±ÇÇÑÀ» 700 À¸·Î ÁØ´Ù. user> mkdir -p dir/temp user> chmod 700 temp ########### # ¹é¾÷Çϱâ ########### user> chmod 700 mysqldump.cgi user> perl mysqldump.cgi db_list ÆÄÀÏÀÌ »ý¼º µÇ¾ú´ÂÁö È®ÀÎÇÑ´Ù. ################ # DB »ý¼ºÇϱâ ################ dbinput_list ÆÄÀÏÀº mysqldump.cgi ¿¡ ÀÇÇØ ¸¸µé¾îÁø db_list ÆÄÀÏÀ» º¹»çÇؼ­ »ç¿ëÇÏ¸é µÈ´Ù. »ý¼ºÀÌ ÇÊ¿ä¾ø´Â DB´Â Áö¿ì¸é µÈ´Ù. (ÁÖÀÇ: óÀ½ 3ÁÙÀº »èÁ¦¸¦ ÇÏÁö ¸»¾Æ¶ó.) user> chmod 700 mysqldbcreate.cgi user> perl mysqldbcreate.cgi ################ # DB¿¡ ÀÔ·ÂÇϱâ ################ dbinput_list ÆÄÀÏ¿¡ ÀÔ·ÂÇÒ DB ¸¦ Ãß°¡ÇÑ´Ù. (ÁÖÀÇ: mysql DB ´Â »©´Â°Ô ÁÁ´Ù.) user> chmod 700 mysqlinput.cgi user> perl mysqlinput.cgi #################### # »ç¿ëµÇ´Â ÆÄÀϵé #################### ======================== mysqldump.cgi =============================== #!/usr/bin/perl # Linux¿¡ ÀÖ´Â ¸ðµç DB¸¦ DB_name.dump ÆÄÀÏ¿¡ dumpÇÑ´Ù. # 1999,12,2 # $mysql_path = "/usr/local/bin"; # FreeBSD $mysql_path = "/usr/local/mysql/bin"; $passwd = ""; # root ºñ¹øÀ» ÀÔ·ÂÇÑ´Ù. $host = ""; # Á¢¼ÓÇÒ È£½ºÆ® (¿ÜºÎ¿¡ DB°¡ ÀÖ´Â °æ¿ì¸¸ »ç¿ëÇÑ´Ù.) if( $passwd ne ''){ $passwd = " -p$passwd"; } if( $host ne ''){ $host = " -h $host"; } `$mysql_path/mysqlshow -uroot $passwd $host > db_list`; open( IN, 'db_list' ); $start = 0; while( ) { if( $start ne 3 ) { $start ++; # print "start:$_\n"; next; } elsif ( $_ !~ / / ) { # Blank next; } chop(); ( $a, $db, $c ) = split( /\|/, $_); $db =~ s/ //g; # °¢ DBÀÇ dumpÆÄÀÏÀ» »ý¼ÍÇÑ´Ù. `$mysql_path/mysqldump -uroot $passwd $host $db > temp/$db.dump`; print "$db Dumped\n"; } close( IN ); ======================== /mysqldump.cgi =============================== ======================== mysqldbcreate.cgi =============================== #!/usr/bin/perl # dbinput_list¿¡ ÀÖ´Â ¸ðµç DB¸¦ »ý¼ºÇÑ´Ù. # 2000. 4. 5 # dbinput_list ÆÄÀÏÀº mysqldump.cgi ¿¡ ÀÇÇØ ¸¸µé¾îÁø db_list ÆÄÀÏÀ» # º¹»çÇؼ­ »ç¿ëÇÏ¸é µÈ´Ù. »ý¼ºÀÌ ÇÊ¿ä¾ø´Â DB´Â Áö¿ì¸é µÈ´Ù. # (ÁÖÀÇ: óÀ½ 3ÁÙÀº »èÁ¦¸¦ ÇÏÁö ¸»¾Æ¶ó.) # $mysql_path = "/usr/local/bin"; # FreeBSD $mysql_path = "/usr/local/mysql/bin"; $passwd = ""; # root ºñ¹øÀ» ÀÔ·ÂÇÑ´Ù. $host = ""; # Á¢¼ÓÇÒ È£½ºÆ® (¿ÜºÎ¿¡ DB°¡ ÀÖ´Â °æ¿ì¸¸ »ç¿ëÇÑ´Ù.) if( $passwd ne ''){ $passwd = " -p$passwd"; } if( $host ne ''){ $host = " -h $host"; } open( IN, 'dbinput_list' ); $start = 0; while( ) { if( $start ne 3 ) { $start ++; next; } elsif ( $_ !~ / / ) { # Blank next; } chop(); ( $a, $db, $c ) = split( /\|/, $_); $db =~ s/ //g; # °¢ DB¸¦ »ý¼ºÇÑ´Ù. `$mysql_path/mysqladmin -uroot $passwd $host create $db`; print "$db Created\n"; } close( IN ); # ¼³Á¤À» ´Ù½Ã Àд´Ù. `$mysql_path/msyqladmin -uroot $passwd $host reload` ======================== /mysqldbcreate.cgi =============================== ======================== mysqlinput.cgi =============================== #!/usr/bin/perl # dbinput_list¿¡ ÀÖ´Â ¸ðµç DB¸¦ °¢ DB¿¡ ÀÔ·ÂÇÑ´Ù. # 2000. 4. 3 # $mysql_path = "/usr/local/bin"; # FreeBSD $mysql_path = "/usr/local/mysql/bin"; $passwd = ""; # root ºñ¹øÀ» ÀÔ·ÂÇÑ´Ù. $host = ""; # Á¢¼ÓÇÒ È£½ºÆ® (¿ÜºÎ¿¡ DB°¡ ÀÖ´Â °æ¿ì¸¸ »ç¿ëÇÑ´Ù.) if( $passwd ne ''){ $passwd = " -p$passwd"; } if( $host ne ''){ $host = " -h $host"; } open( IN, 'dbinput_list' ); $start = 0; while( ) { if( $start ne 3 ) { $start ++; next; } elsif ( $_ !~ / / ) { # Blank next; } chop(); ( $a, $db, $c ) = split( /\|/, $_); $db =~ s/ //g; # °¢ DB¿¡ dumpÆÄÀÏÀ» ÀÔ·ÂÇÑ´Ù. `$mysql_path/mysql -uroot $passwd $host $db < temp/$db.dump`; print "$db Inserted\n"; } close( IN ); ======================== /mysqlinput.cgi ===============================