ͨÓõÄmysql dump³ÌÐò
¿ÉÒÔÊÊÓÃÈκÎsql , ×Ô¶¯Ê¶±ð×Ö¶ÎÃû£¬ gzipѹËõ , ´øÊä³öbuffer , Ö§³Ö·Ö¿â·Ö±í
ÐèÒª¸¨Öú´úÂëºÍMakefie , ÏÂÃæÊÇÖ÷³ÌÐò´úÂ룬
/**
* mysqlÊý¾Ý±ídump³ÌÐò
* @author : cheng limin
* @date : 2010-1-18
*
* ʹÓÃÑùÀý:
*./dump_mysql -c ../conf/dump.conf
* -t xml
* -s "select * from * where punish_type != 0"
* -f ctu.txt
*/
#include <iostream>
#include <string>
#include <errno.h>
#include <time.h>
#include <sys/time.h>
#include "mysql.h"
#include "INIParser.h"
#include "tbZip.h"
using namespace __gnu_cxx;
using namespace std;
#define OUT_FORMAT_TXT 0 /* Êä³öÎļþ¸ñʽ ÐÐÁиñʽ */
#define OUT_FORMAT_XML 1 /* Êä³öÎļþ¸ñʽ xml¸ñʽ */
/* ´ÓÃüÁîÐлñµÃµÄ²ÎÊý */
string g_confFile = ""; /* ÅäÖÃÎļþ */
string g_sectionName = ""; /* ÅäÖÃÎļþsection½ÚÃû³Æ */
string g_sql = ""; /* ÐèÒªÖ´ÐеÄsql */
string g_fileName = ""; /* Êä³öÎļþÃû */
/* ´ÓÅäÖÃÎļþ»ñµÃµÄ²ÎÊý */
string g_fieldSep = ""; /* ×ֶνáÊø */
string g_lineSep = ""; /* Ðнáβ */
string g_host = ""; /* Ö÷»úÃû */
int g_port = 3306; /* ¶Ë¿ÚºÅ ĬÈÏ3306 */
string g_user = ""; /* Óû§Ãû */
string g_passwd = ""; /* ÃÜÂë */
string g_db = ""; /* ¿âÃû */
string g_charset = ""; /* Êý¾Ý¿â×Ö·û¼¯ */
int g_compType = 0; /* Êä³öÎļþѹËõ·½Ê½ ĬÈÏ0 0=²»Ñ¹Ëõ 1=gzip */
int g_outFormat = OUT_FORMAT_TXT; /* Êä³öÎļþ¸ñʽ , ĬÈÏΪÎı¾*/
FILE *g_fp; /* Êä³öÎļþ¾ä±ú */
tbZip *g_tz; /* ѹËõÎļþ¹¤¾ßÀà */
/**
* ʹÓðïÖú
*
* @param progName ³ÌÐòÃû
*/
void usage(const char *progName)
{
fprintf(stderr, "************************************************* \n");
fprintf(stderr, "Usage: %s \n", progName);
fprintf(stderr, " -c configeFile ³ÌÐòµÄÅäÖÃÎļþ \n");
fprintf(stderr,
Ïà¹ØÎĵµ£º
mysql±àÂëӦעÒâµÄ»·½Ú£º
Õ⼸¸ö»·½Ú±àÂ붼ͳһÁË£¬Ò»°ã²»»á³öÏÖÂÒÂë¡£BTW:
¿ÉÒÔÓÃSET NAMES xÁÙʱÉèÖÃmysql±àÂ룺
Ï൱ÓÚ
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
È磺
mysql_query("SET NAMES 'gb2312'") or die("Query failed : " . mysql_er ......
¡¡¡¡1.µ¼³öÕû¸öÊý¾Ý¿â
¡¡¡¡ mysqldump -u Óû§Ãû -p Êý¾Ý¿âÃû > µ¼³öµÄÎļþÃû
¡¡¡¡ mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
¡¡¡¡2.µ¼³öÒ»¸ö±í
¡¡¡¡ mysqldump -u Óû§Ãû -p Êý¾Ý¿âÃû ±íÃû> ......
mysqlµÄÊý¾Ý´¢´æÄ¿Â¼ÔÚmysqlµÄÅäÖÃÎļþmy.iniÎļþÉèÖ㬸ñʽÈçÏ£º
# Uncomment the following rows if you move the MySQL distribution to another
# location
basedir = d:/cyoa/mysql_cy/
datadir = d:/cyoa/mysql_cy/data/
ÆäÖÐdatadirĿ¼¶¨ÒåÁËmysqlµÄÊý¾Ý´æ´¢Î»Öã¬MySQLµÄÿ¸ ......
2.»·¾³ËµÃ÷
2.1 Ó²¼þ»·¾³(Á½Ì¨»úÆ÷µÄÓ²¼þ»·¾³Ïàͬ)
CPU
Inter(R) Pentium(R) Dual CPU E5200 @2.50GHz
ÄÚ´æ´óС
384MB
Ó²ÅÌ´óС
8GB
ÆäËü˵Ã÷
±¾»úÆ÷ΪÐéÄâ»ú£¬ÆäÓÐÁ½¿éÍø¿¨£¬Ò»¶ÔÍø¿¨Ö±Á¬£¬Ò»¶Ô½ÓÈë½»»»»ú
CPU
Inter(R) Pentium(R) Dual CPU E5200 @2.50GHz
ÄÚ´æ´óС
384MB
......
1.ÔÚORACLEÖÐÓÃselect * from all_usersÏÔʾËùÓеÄÓû§£¬¶øÔÚMYSQLÖÐÏÔʾËùÓÐÊý¾Ý¿âµÄÃüÁîÊÇshow
databases¡£¶ÔÓÚÎÒµÄÀí½â£¬ORACLEÏîÄ¿À´ËµÒ»¸öÏîÄ¿¾ÍÓ¦¸ÃÓÐÒ»¸öÓû§ºÍÆä¶ÔÓ¦µÄ±í¿Õ¼ä£¬¶øMYSQLÏîÄ¿ÖÐÒ²Ó¦¸ÃÓиöÓû§ºÍÒ»¸ö¿â¡£ÔÚ
ORACLE(db2Ò²Ò»Ñù)Öбí¿Õ¼äÊÇÎļþϵͳÖеÄÎïÀíÈÝÆ÷µÄÂß¼±íʾ£¬ÊÓͼ¡¢´¥·¢Æ÷ºÍ´æ´¢¹ý³ÌÒ²¿É ......