锘??xml version="1.0" encoding="utf-8" standalone="yes"?> VC鐨凪ySQL緙栫▼ 1銆?鎵句締MySQL(Win32)瀹夎鐩綍涓嬬殑include鏂囦歡澶撅紝 灝囧叾娣誨姞鍒癡C澶存枃浠剁洰褰曞垪琛ㄤ腑錛?/p> 錛圴C6 -> Options -> Directories -> 鍔犲叆姝ょ洰褰曪級 錛圴C2005 -> 宸ュ叿 -> 閫夐」 -> 欏圭洰鍜岃В姹烘柟妗?-> VC++鐩綍 -> 鏄劇ず浠ヤ笅鍐呭鐨勭洰褰?-> 鍖呭惈鏂囦歡 -> 鍔犲叆姝ょ洰褰曪級 2銆佹壘鍒癕ySQL(Win32)瀹夎鐩?褰曚笅鐨刲ib鏂囦歡澶癸紝 灝囧叾娣誨姞鍒癡C搴撴枃浠剁洰褰曞垪琛ㄤ腑錛?/p> 錛圴C6 -> Options -> Directories -> 鍔犲叆姝ょ洰褰曪級 錛圴C2005 -> 宸ュ叿 -> 閫夐」 -> 欏圭洰鍜岃В鍐蟲柟妗?-> VC++鐩綍 -> 鏄劇ず浠ヤ笅鍐呭鐨勭洰褰?-> 搴撴枃浠?-> 鍔犲叆姝ょ洰褰曪紝娉ㄦ剰鏄痩ib/debug鎴杔ib/opt錛?/p> 3銆佹柊寤轟竴涓伐紼嬶紝鍙傝冨涓嬩唬鐮侊紱 // mysql.cpp : Defines the entry point for the console application. #include "stdafx.h" #pragma comment(lib, "libmysql.lib") printf("Start... "); ssock = (MYSQL *)malloc(sizeof(MYSQL)); //榪炴帴鎸囧畾鏁版嵁搴?br />ssock = mysql_real_connect(ssock, IPAddress, UserName, Password, NULL, Port, NULL, 0); //memcpy(eee, mysql_error(ssock), 20); //printf("%c ", eee); if(mysql_select_db(ssock, DBName) != 0) printf("version=%d ", mysql_get_server_version(ssock)); printf("End... "); usidc5 2010-07-19 00:19 C++鎿嶄綔mysql鏁版嵁搴撴枃绔犺祫鏂欐眹鎬?/h1>
鍦ㄤ綘鐨勭▼寮忎腑浣跨敤鏁版嵁搴撴槸涓笉鍋氱殑娉ㄦ剰銆傚鏋滃凡緇忔湁鍙敤鐨凪ySQL鏈嶅姟 鍣紝鍦╒C涓彲浠ユ寜鐓у涓嬫柟娉曞疄鐜頒笌鏁版嵁搴撶殑榪炴帴銆?/p>
//
#include <stdio.h>
#include <winsock.h>
#include <mysql.h>
#include <windows.h>
int main(int argc, char* argv[])
...{
unsigned short Port = 3306;
char *IPAddress = "192.168.31.56";
char *UserName = "root";
char *Password = "";
char *DBName = "SAS_1_2_0";
MYSQL *ssock;
//char execsql[500];
// 鍦ㄦ煇浜涚増鏈腑錛屼笉闇瑕佽鍒濆鍖栧伐浣滐紝鍙鐪媘ysql.H浠ュ強readme
mysql_init(ssock);
if(ssock == NULL)
...{
printf("EROR: MySQL ssock init error. ");
return FALSE;
}
if(!ssock)
...{
printf("conn fail... ");
//fprintf(stderr, "Failed to connect to database: Error: %s ", mysql_error(ssock));
unsigned int mtint = mysql_errno(ssock);
//printf("%d ");
return FALSE;
}
...{
printf("select db error. ");
return FALSE;
}
//exec my execsql string
//sprintf(execsql,"create table girls (name char(10),age int)");
//mysql_real_query(ssock,execsql,strlen(execsql));
mysql_close(ssock);
return TRUE;
}
4銆佺紪璇戣繛鎺ワ紝榪愯鍗沖彲銆?/p>usidc5 2010-07-19 00:21 榪欓噷褰掔撼浜咰 API鍙嬌鐢ㄧ殑鍑芥暟錛屽茍鍦ㄤ笅涓鑺傝緇嗕粙緇嶄簡瀹冧滑銆?br />
鍑芥暟
鎻忚堪
mysql_affected_rows()
榪?鍥炰笂嬈PDATE銆丏ELETE鎴朓NSERT鏌ヨ鏇存敼錛忓垹闄わ紡鎻掑叆鐨勮鏁般?br />
mysql_autocommit()
鍒囨崲 autocommit妯″紡錛孫N/OFF
mysql_change_user()
鏇存敼鎵撳紑榪炴帴涓婄殑鐢ㄦ埛鍜屾暟鎹簱銆?br />
mysql_charset_name()
榪?鍥炵敤浜庤繛鎺ョ殑榛樿瀛楃闆嗙殑鍚嶇О銆?br />
mysql_close()
鍏抽棴鏈嶅姟鍣ㄨ繛鎺ャ?br />
mysql_commit()
鎻?浜や簨鍔°?br />
mysql_connect()
榪炴帴鍒癕ySQL鏈嶅姟鍣ㄣ傝鍑芥暟宸蹭笉鍐嶈閲嶈錛屼嬌鐢?mysql_real_connect()鍙栦唬銆?br />
mysql_create_db()
鍒涘緩鏁版嵁搴撱傝鍑芥暟宸蹭笉鍐嶈閲嶈錛屼嬌鐢?SQL璇彞CREATE DATABASE鍙栬屼唬涔嬨?br />
mysql_data_seek()
鍦ㄦ煡璇㈢粨鏋滈泦涓煡鎵懼睘鎬ц緙栧彿銆?br />
mysql_debug()
鐢?緇欏畾鐨勫瓧絎︿覆鎵цDBUG_PUSH銆?br />
mysql_drop_db()
鎾ら攢鏁版嵁搴撱傝鍑芥暟宸蹭笉鍐嶈閲嶈錛屼嬌鐢⊿QL璇彞DROP DATABASE鍙栬屼唬涔嬨?br />
mysql_dump_debug_info()
璁╂湇鍔″櫒灝嗚皟璇曚俊鎭啓鍏ユ棩蹇椼?br />
mysql_eof()
紜?瀹氭槸鍚﹁鍙栦簡緇撴灉闆嗙殑鏈鍚庝竴琛屻傝鍑芥暟宸蹭笉鍐嶈閲嶈錛屽彲浠ヤ嬌鐢╩ysql_errno()鎴杕ysql_error()鍙栬屼唬涔嬨?br />
mysql_errno()
榪?鍥炰笂嬈¤皟鐢ㄧ殑MySQL鍑芥暟鐨勯敊璇紪鍙楓?br />
mysql_error()
榪斿洖涓婃璋冪敤鐨凪ySQL鍑芥暟鐨勯敊璇秷鎭?br />
mysql_escape_string()
涓?浜嗙敤鍦⊿QL璇彞涓紝瀵圭壒孌婂瓧絎﹁繘琛岃漿涔夊鐞嗐?br />
mysql_fetch_field()
榪斿洖涓嬩竴涓〃瀛楁鐨勭被鍨嬨?br />
mysql_fetch_field_direct()
緇?瀹氬瓧孌電紪鍙鳳紝榪斿洖琛ㄥ瓧孌電殑綾誨瀷銆?br />
mysql_fetch_fields()
榪斿洖鎵鏈夊瓧孌電粨鏋勭殑鏁扮粍銆?br />
mysql_fetch_lengths()
榪?鍥炲綋鍓嶈涓墍鏈夊垪鐨勯暱搴︺?br />
mysql_fetch_row()
浠庣粨鏋滈泦涓幏鍙栦笅涓琛?br />
mysql_field_seek()
灝?鍒楀厜鏍囩疆浜庢寚瀹氱殑鍒椼?br />
mysql_field_count()
榪斿洖涓婃鎵ц璇彞鐨勭粨鏋滃垪鐨勬暟鐩?br />
mysql_field_tell()
榪?鍥炰笂嬈ysql_fetch_field()鎵浣跨敤瀛楁鍏夋爣鐨勪綅緗?br />
mysql_free_result()
閲婃斁緇撴灉闆嗕嬌鐢ㄧ殑 鍐呭瓨銆?br />mysql_get_client_info()
浠ュ瓧絎︿覆褰㈠紡榪斿洖瀹㈡埛绔増鏈俊鎭?br />
mysql_get_client_version()
浠?鏁存暟褰㈠紡榪斿洖瀹㈡埛绔増鏈俊鎭?br />
mysql_get_host_info()
榪斿洖鎻忚堪榪炴帴鐨勫瓧絎︿覆銆?br />
mysql_get_server_version()
浠?鏁存暟褰㈠紡榪斿洖鏈嶅姟鍣ㄧ殑鐗堟湰鍙楓?br />
mysql_get_proto_info()
榪斿洖榪炴帴鎵浣跨敤鐨勫崗璁増鏈?br />
mysql_get_server_info()
榪?鍥炴湇鍔″櫒鐨勭増鏈彿銆?br />
mysql_info()
榪斿洖鍏充簬鏈榪戞墍鎵ц鏌ヨ鐨勪俊鎭?br />
mysql_init()
鑾?鍙栨垨鍒濆鍖朚YSQL緇撴瀯銆?br />
mysql_insert_id()
榪斿洖涓婁竴涓煡璇負AUTO_INCREMENT鍒楃敓鎴愮殑ID銆?br />
mysql_kill()
鏉 姝葷粰瀹氱殑綰跨▼銆?br />
mysql_library_end()
鏈緇堢‘瀹歁ySQL C API搴撱?br />
mysql_library_init()
鍒?濮嬪寲MySQL C API搴撱?br />
mysql_list_dbs()
榪斿洖涓庣畝鍗曟鍒欒〃杈懼紡鍖歸厤鐨勬暟鎹簱鍚嶇О銆?br />
mysql_list_fields()
榪?鍥炰笌綆鍗曟鍒欒〃杈懼紡鍖歸厤鐨勫瓧孌靛悕縐般?br />
mysql_list_processes()
榪斿洖褰撳墠鏈嶅姟鍣ㄧ嚎紼嬬殑鍒楄〃銆?br />
mysql_list_tables()
榪?鍥炰笌綆鍗曟鍒欒〃杈懼紡鍖歸厤鐨勮〃鍚嶃?br />
mysql_more_results()
媯鏌ユ槸鍚﹁繕瀛樺湪鍏朵粬緇撴灉銆?br />
mysql_next_result()
鍦?澶氳鍙ユ墽琛岃繃紼嬩腑榪斿洖/鍒濆鍖栦笅涓涓粨鏋溿?br />
mysql_num_fields()
榪斿洖緇撴灉闆嗕腑鐨勫垪鏁般?br />
mysql_num_rows()
榪?鍥炵粨鏋滈泦涓殑琛屾暟銆?br />
mysql_options()
涓簃ysql_connect()璁劇疆榪炴帴閫夐」銆?br />
mysql_ping()
媯 鏌ヤ笌鏈嶅姟鍣ㄧ殑榪炴帴鏄惁宸ヤ綔錛屽鏈夊繀瑕侀噸鏂拌繛鎺ャ?br />
mysql_query()
鎵ц鎸囧畾涓?#8220;浠ull緇堢粨鐨勫瓧絎︿覆”鐨凷QL鏌ヨ銆?br />
mysql_real_connect()
榪?鎺ュ埌MySQL鏈嶅姟鍣ㄣ?br />
mysql_real_escape_string()
鑰冭檻鍒拌繛鎺ョ殑褰撳墠瀛楃闆嗭紝涓轟簡鍦⊿QL璇彞涓嬌 鐢紝瀵瑰瓧絎︿覆涓殑鐗規(guī)畩瀛楃榪涜杞箟澶勭悊銆?br />
mysql_real_query()
鎵ц鎸囧畾涓鴻鏁板瓧絎︿覆鐨凷QL鏌ヨ銆?br />
mysql_refresh()
鍒?鏂版垨澶嶄綅琛ㄥ拰楂橀熺紦鍐層?br />
mysql_reload()
閫氱煡鏈嶅姟鍣ㄥ啀嬈″姞杞芥巿鏉冭〃銆?br />mysql_rollback()
鍥?婊氫簨鍔°?br />
mysql_row_seek()
浣跨敤浠巑ysql_row_tell()榪斿洖鐨勫鹼紝鏌ユ壘緇撴灉闆嗕腑鐨勮鍋忕Щ銆?br />
mysql_row_tell()
榪?鍥炶鍏夋爣浣嶇疆銆?br />
mysql_select_db()
閫夋嫨鏁版嵁搴撱?br />
mysql_server_end()
鏈 緇堢‘瀹氬祵鍏ュ紡鏈嶅姟鍣ㄥ簱銆?br />
mysql_server_init()
鍒濆鍖栧祵鍏ュ紡鏈嶅姟鍣ㄥ簱銆?br />
mysql_set_server_option()
涓?榪炴帴璁劇疆閫夐」錛堝澶氳鍙ワ級銆?br />
mysql_sqlstate()
榪斿洖鍏充簬涓婁竴涓敊璇殑SQLSTATE閿欒浠g爜銆?br />
mysql_shutdown()
鍏?闂暟鎹簱鏈嶅姟鍣ㄣ?br />
mysql_stat()
浠ュ瓧絎︿覆褰㈠紡榪斿洖鏈嶅姟鍣ㄧ姸鎬併?br />
mysql_store_result()
媯 绱㈠畬鏁寸殑緇撴灉闆嗚嚦瀹㈡埛绔?br />
mysql_thread_id()
榪斿洖褰撳墠綰跨▼ID銆?br />
mysql_thread_safe()
濡?鏋滃鎴風(fēng)宸茬紪璇戜負綰跨▼瀹夊叏鐨勶紝榪斿洖1銆?br />
mysql_use_result()
鍒濆鍖栭愯鐨勭粨鏋滈泦媯绱€?br />
mysql_warning_count()
榪?鍥炰笂涓涓猄QL璇彞鐨勫憡璀︽暟銆?br />
杞嚜錛?a >http://blog.csdn.net/ghost1236/article/details/5746905usidc5 2010-07-19 00:22
]]>
]]>
]]>
綆瑕佷粙緇嶅悗錛屾槸涓嶆槸鍙戠幇瀹冨拰Oracle鐨刣atabase link(鏁版嵁搴撻摼鎺?闈炲父鐩鎬技錛屽畠鎵瀹炵幇鐨勫姛鑳藉拰db link綾諱技錛岃鍦∕ySQL涓嬫壘瀵籨b link鏇夸唬鍝佺殑錛宖ederated瀛樺偍寮曟搸鏄笉浜岀殑閫夋嫨銆?/span>
1. 鏌ョ湅褰撳墠鏀寔鐨勫瓨鍌ㄥ紩鎿?/span>
SQL>show engines;
- +------------+---------+------------------------------------------------------------+--------------+------+------------+
- | Engine | Support | Comment | Transactions | XA | Savepoints |
- +------------+---------+------------------------------------------------------------+--------------+------+------------+
- | CSV | YES | CSV storage engine | NO | NO | NO |
- | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
- | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
- | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
- | MyISAM | YES | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
- +------------+---------+------------------------------------------------------------+--------------+------+------------+
- 5 rows in set (0.00 sec)
鍙戠幇瀹夎MySQL鏃舵病鏈夌紪璇戣繘鏉ワ紝鍙兘鐜板畨瑁呬簡銆?/span>
2. 瀹夎f(xié)ederated瀛樺偍寮曟搸
鐢變簬緙栬瘧鏃舵病鏈夐夋嫨federated錛屾墍浠ユ墦綆楅氳繃INSTALL PLUGIN鐨勬柟寮忓畨瑁咃紝姝e父鎯呭喌涓嬶紝federated鏄敮鎸佸姩鎬佸畨瑁呯殑錛?/span>
=== Federated Storage Engine ===
Plugin Name: federated
Description: Connects to tables on remote MySQL servers
Supports build: static and dynamic
Configurations: max, max-no-ndb
鍙槸鎵ц浠ヤ笅鍛戒護鏃舵姤閿欙細
SQL>install plugin federated soname 'ha_federated.so';
ERROR 1126 (HY000): Can't open shared library '/usr/local/mysql/lib/mysql/plugin/ha_federated.so' (errno: 2 undefined symbol: dynstr_append_mem)
鎼滀簡涓涓嬶紝鍙戠幇鏄釜鑰侀棶棰橈紝绔熺劧鍒扮幇鍦ㄩ兘娌¤В鍐籌紝鍙MySQL鍥㈤槦鐨勬晥鐜囧拰綆$悊鐨勬販涔便?a rel="nofollow" style="text-decoration: none; color: #0c4468;">http://bugs.mysql.com/bug.php?id=40942
娌℃湁鍔炴硶浜嗭紝鍙湁閲嶆柊緙栬瘧MySQL婧愮爜浜? 鍔犱笂--with-plugins=federated銆備粠5.1.26寮濮嬶紝榛樿MySQL涓嶅惎鐢╢ederated瀛樺偍寮曟搸錛屾墍浠ラ渶瑕佸湪my.cnf涓姞鍏ederated閫夐」鎴栨槸鍦ㄥ懡浠よ鐢?/span>--federated閫夐」鍚姩mysqld銆傜紪璇戝悗鐨勭粨鏋滃涓嬶細
SQL>show engines;
杞嚜錛?a >http://blog.163.com/ji_1006/blog/static/106123412011116265531/
- +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
- | Engine | Support | Comment | Transactions | XA | Savepoints |
- +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
- | CSV | YES | CSV storage engine | NO | NO | NO |
- | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
- | FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO |
- | MyISAM | YES | Default engine as of MySQL 3.23 with great performance | NO | NO | NO |
- | InnoDB | DEFAULT | Percona-XtraDB, Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
- | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
- +------------+---------+----------------------------------------------------------------------------+--------------+------+------------+
SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server
璇存槑鎵榪炴帴鐨勭敤鎴峰笎鍙鋒病鏈夎繙紼嬭繛鎺ョ殑鏉冮檺錛屽彧鑳藉湪鏈満(localhost)鐧誨綍銆?br style="word-break: break-all; line-height: normal !important;" />
闇鏇存敼 mysql 鏁版嵁搴?/strong>閲岀殑 user琛ㄩ噷鐨?host欏?br style="word-break: break-all; line-height: normal !important;" />鎶妉ocalhost鏀圭О%
棣栧厛鎸変笅闈㈢殑姝ラ鐧誨綍Mysql鏈嶅姟鍣?br style="word-break: break-all; line-height: normal !important;" />
鐧誨綍mysql闇瑕佸垏鎹㈠埌dos涓嬬殑mysql鐨刡in鐩綍錛岃繘琛屽涓嬫搷浣滐細
mysql>use mysql;
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host','user' from user where user='root';
mysql>quit
OK銆傝繙紼嬭繛鎺ユ垚鍔燂紒
杞嚜錛?a >http://space.itpub.net/8183550/viewspace-680756鏌ョ湅緋葷粺鐨勫瓧絎﹂泦鍜屾帓搴忔柟寮忕殑璁懼畾鍙互閫氳繃涓嬮潰鐨勪袱鏉″懡浠わ細
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
涓婇潰鍒楀嚭鐨勫煎氨鏄郴緇熺殑榛樿鍊箋?br style="clear: both; " />
涓鑸氨綆楄緗簡琛ㄧ殑榛樿瀛楃闆嗕負utf8騫朵笖閫氳繃UTF-8緙栫爜鍙戦佹煡璇紝浣犱細鍙戠幇瀛樺叆鏁版嵁搴撶殑浠嶇劧鏄貢鐮併傞棶棰樺氨鍑哄湪榪欎釜connection榪炴帴灞備笂銆傝В鍐蟲柟娉曟槸鍦ㄥ彂閫佹煡璇㈠墠鎵ц涓涓嬩笅闈㈣繖鍙ワ細SET NAMES 'utf8';
瀹冪浉褰撲簬涓嬮潰鐨勪笁鍙ユ寚浠わ細
http://www.blogjava.net/bonix/articles/159291.html
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
鑰孧ySQL鏁版嵁搴撶殑4.1鏄竴涓垎姘村箔錛?.1鐩存帴鏀寔Unicode錛屽畠浠ヤ笅鐗堟湰鏀寔鐨勪笉濂斤紱
MySQL JDBC Driver鐨?.0.16涔熸槸涓涓垎姘村箔錛?.0.16鐗堟湰浼氬彇鏁版嵁搴撴湰韜殑緙栫爜錛岀劧鍚庢寜鐓ц緙栫爜杞崲錛岃繖縐嶆柟寮忓拰Oracle鐨凧DBC Driver鏄竴鏍風(fēng)殑銆備緥濡備綘鐨勬暟鎹簱鏄疓BK緙栫爜鐨勮瘽錛孞DBC Driver灝變細鎶婃暟鎹簱閲岄潰鐨勫彇鍑烘潵鐨勫瓧絎︿覆鎸夌収GBK寰unicode杞崲錛岄佺粰JVM銆傚洜姝ゆ紜殑璁劇疆鏁版嵁搴撴湰韜殑緙栫爜灝卞挨涓洪噸瑕併?nbsp;
MySQL JDBC Driver3.0.16浠ヤ笅鐨勭増鏈垯涓嶇劧錛屽畠涓嶄細閭d箞鏅鴻兘鐨勬牴鎹暟鎹簱緙栫爜鏉ョ‘瀹氬浣曡漿鎹紝瀹冩繪槸榛樿浣跨敤ISO8859-1錛屽洜姝や綘蹇呴』浣跨敤 characterEncoding=GBK鏉ュ己鍒朵粬鎶婃暟鎹簱涓彇鍑烘潵鐨勫瓧絎︿覆鎸夌収GBK鏉ュ線unicode杞崲銆?nbsp;
鍥犳錛屼嬌鐢ㄤ粈涔堟暟鎹簱鐗堟湰錛屼笉綆℃槸3.x錛岃繕鏄?.0.x榪樻槸4.1.x錛屽叾瀹炲鎴戜滑鏉ヨ涓嶉噸瑕侊紝閲嶈鐨勬湁浜岋細
1) 姝g‘鐨勮瀹氭暟鎹簱緙栫爜錛孧ySQL4.0浠ヤ笅鐗堟湰鐨勫瓧絎﹂泦鎬繪槸榛樿ISO8859-1錛孧ySQL4.1鍦ㄥ畨瑁呯殑鏃跺欎細璁╀綘閫夋嫨銆傚鏋滀綘鍑嗗浣跨敤UTF- 8錛岄偅涔堝湪鍒涘緩鏁版嵁搴撶殑鏃跺欏氨瑕佹寚瀹氬ソUTF-8(鍒涘緩濂戒互鍚庝篃鍙互鏀癸紝4.1浠ヤ笂鐗堟湰榪樺彲浠ュ崟鐙寚瀹氳〃鐨勫瓧絎﹂泦)
2) 浣跨敤3.0.16浠ヤ笂鐗堟湰鐨凧DBC Driver錛岄偅涔堜綘灝變笉闇瑕佸啀鍐欎粈涔坈haracterEncoding=UTF-8
杞嚜錛?/strong>
瀹夎錛?/strong>
鏈?Linux 鍜?Windows 騫沖彴鐨勪簩榪涘埗鍖呬笅杞斤紝瑙e紑鐩存帴浣跨敤鍗沖彲銆?br />
涓昏鍛戒護琛岄夐」錛?br />--help-all — 鏄劇ず鎵鏈夊府鍔╅夐」銆?nbsp;
--proxy-backend-addresses=host:port — 瑕佽繛鎺ョ殑 MySQL 鏈嶅姟鍣ㄥ湴鍧鍜岀鍙o紝鍙互鎺ュ涓湇鍔″櫒錛岃姹備細浠ヨ疆璇㈢殑鏂瑰紡榪涜杞彂銆?br />--proxy-lua-script=file 瑕佽澆鍏ョ殑 lua 鑴氭湰鏂囦歡銆?br />
紺轟緥:
F:\mysql-proxy-0.8.0-win32-x86\bin\mysql-proxy --proxy-backend-addresses=192.168.128.131:3306 --proxy-lua-script=F:/mysql-proxy-0.8.0-win32-x86/share/doc/mysql-proxy/tutorial-query-time.lua

娉細鑷甫鐨勮繖涓ず渚嬭剼鏈彲浠ユ樉紺烘敹鍒扮殑 SQL 鎿嶄綔璇鋒眰鍜屾墽琛屾椂闂達紝涔熷彲浠ヨ嚜宸辯紪鍐欒剼鏈?br />
瀹㈡埛绔繛鎺?br />璺熷鉤甯歌繛鏈嶅姟鍣ㄤ竴鏍鳳紝鍙槸榛樿绔彛鏄?4040錛岃繛鎺ュ悗灝卞彲浠ヨ繘琛?SQL 鎿嶄綔浜嗭紝鐩稿簲鍛戒護浼氭樉紺哄湪 Proxy 涓娿?/p>
鍚勭鐗堟湰瀹樼綉涓嬭澆鍦板潃錛?a style="color: #999999 !important; border-bottom-color: #f8f8f8 !important; border-bottom-width: 2px !important; border-bottom-style: solid !important; text-decoration: none; ">http://dev.mysql.com/downloads/mysql-proxy/
杞嚜錛?a >http://hi.baidu.com/bkitty/blog/item/e627b938cbd03aced56225f2.html
涓銆佸湪浣犵殑紼嬪簭涓嬌鐢ㄦ暟鎹簱鏄笉閿欑殑娉ㄦ剰銆傚鏋滃凡緇忔湁鍙敤鐨凪ySQL鏈嶅姟鍣紝鍦╒C涓彲浠ユ寜鐓у涓嬫柟娉曞疄鐜頒笌鏁版嵁搴撶殑榪炴帴銆?br />1銆佹壘鏉ySQL(Win32)瀹夎鐩綍涓嬬殑include鏂囦歡澶癸紝灝嗗叾娣誨姞鍒癡C澶存枃浠剁洰褰曞垪琛ㄤ腑錛?br />錛圴C6 -> Options -> Directories -> 鍔犲叆姝ょ洰褰曪級
錛圴C2005 -> 宸ュ叿 -> 閫夋嫨 ->欏圭洰鍜岃В鍐蟲柟妗?-> VC++鐩綍 -> 鏄劇ず浠ヤ笅鍏у鐨勭洰褰?-> 鍖呭惈鏂囦歡 -> 鍔犲叆姝ょ洰褰曪級2銆佹壘鏉ySQL(Win32)瀹夎鐩綍涓嬬殑lib鏂囦歡澶癸紝灝?nbsp;鍏舵坊鍔犲埌VC搴撴枃浠剁洰褰曞垪琛ㄤ腑錛?br />錛圴C6 -> Options -> Directories -> 鍔犲叆姝ょ洰褰曪級
錛圴C2005 -> 宸ュ叿 ->閫夋嫨 -> 欏圭洰鍜岃В姹烘柟妗?-> VC++鐩綍 -> 鏄劇ず浠ヤ笅鍏у鐨勭洰褰?-> 搴撴枃浠?-> 鍔犲叆姝ょ洰褰曪紝娉ㄦ剰鏄痩ib/debug鎴杔ib/opt錛?br />3銆佹柊寤轟竴涓伐紼嬶紝鍙傝冨涓嬩唬鐮侊細
// mysql.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include <stdio.h>
#include <winsock.h>
#include <mysql.h>
#include <windows.h>
#pragma comment(lib, "libmysql.lib")
int main(int argc, char* argv[])
{
unsigned short Port = 3306;
char *IPAddress = "192.168.31.56";
char *UserName = "root";
char *Password = "";
char *DBName = "SAS_1_2_0";
printf("Start... ");
MYSQL *ssock;
//char execsql[500];
ssock = (MYSQL *)malloc(sizeof(MYSQL));
//鍦ㄦ煇浜涚増鏈腑錛屼笉闇瑕佽鍒濆鍖栧伐浣滐紝鍙鐪媘ysql.H浠ュ強readme
mysql_init(ssock);
if(ssock == NULL)
{
printf("EROR: MySQL ssock init error. ");
return FALSE;
}
//榪炴帴鍒版寚瀹氱殑鏁版嵁搴?br /> ssock = mysql_real_connect(ssock, IPAddress, UserName, Password, NULL, Port, NULL, 0);
if(!ssock)
{
printf("conn fail... ");
//memcpy(eee, mysql_error(ssock), 20);
//fprintf(stderr, "Failed to connect to database: Error: %s ", mysql_error(ssock));
//printf("%c ", eee);
unsigned int mtint = mysql_errno(ssock);
//printf("%d ");
return FALSE;
}
if(mysql_select_db(ssock, DBName) != 0)
{
printf("select db error. ");
return FALSE;
}
printf("version=%d ", mysql_get_server_version(ssock));
//exec my execsql string
//sprintf(execsql,"create table girls (name char(10),age int)");
//mysql_real_query(ssock,execsql,strlen(execsql));
mysql_close(ssock);
printf("End... ");
return TRUE;
}
浜屻佹庢牱鐢╟/c++緙栫▼榪炴帴mysql鏁版嵁搴?br /> 鎵ц涓涓煡璇㈡湁浠ヤ笅鍑犱釜姝ラ瑕佸仛銆傞鍏堟墽琛屼竴涓煡璇紝鐒跺悗淇濆瓨緇撴灉錛?nbsp;
寰楀埌鐨勬槸涓涓瓙闆嗐傝繖閲屾槸涓涓皬渚嬪瓙錛?nbsp;
#include <stdio.h>
#include
#include <mysql.h>
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
void exiterr(int exitcode)
{
fprintf( stderr, "%s/n", mysql_error(&mysql) );
exit( exitcode );
}
int main()
{
uint i = 0;
if (!(mysql_connect(&mysql,"host","username","password")))
exiterr(1);
if (mysql_select_db(&mysql,"payroll"))
exiterr(2);
if (mysql_query(&mysql,"SELECT name,rate FROM emp_master"))
exiterr(3);
if (!(res = mysql_store_result(&mysql)))
exiterr(4);
while((row = mysql_fetch_row(res))) {
for (i=0 ; i < mysql_num_fields(res); i++)
printf("%s/n",row[i]);
}
mysql_free_result(res);
mysql_close(&mysql);
}
mysql_query 鍑芥暟灝嗘妸鏌ヨ閫佺粰鏈嶅姟鍣紝濡傛灉鏌ヨ鎴愬姛錛岃皟鐢╩ysql_store_result 鍑芥暟灝嗗垎閰嶄竴涓狹YSQL_RES 緇撴瀯騫朵笖閲嶆柊浠庢湇鍔″櫒鑾峰緱涓涓粨鏋滈泦銆?br /> 浣犲彲浠ョ敤mysql_fetch_row 鍑芥暟鏉ユ煡鐪嬫暟鎹傝繖鏍峰仛浣犲皢鑾峰緱涓涓?nbsp; MYSQL_ROW 鎸囬拡鎸囧悜鏁版嵁涓殑涓琛屻?nbsp; MYSQL_ROW 鎸囬拡鏄竴綆鍗曠殑瀛楃涓叉暟緇勩傛墍鏈夌殑鏁版嵁綾誨瀷琚漿鎹㈡垚瀛楃涓查佸埌瀹㈡埛绔?nbsp;
mysql_num_fields鍑芥暟灝嗗憡璇変綘榪斿洖鐨勫垪鏁般備綘鍙互緇х畫璋冪敤mysql_fetch_row鐩村埌瀹冭繑鍥炰竴涓┖鎸囬拡浠ュ緱鍒版煡璇腑鐨勬瘡涓琛屻?nbsp;
娉ㄦ剰鍦ㄨ繖涓緥瀛愰噷錛屾垜浠病鏈夋鏌ユ湁絀烘寚閽堢殑鍒椼傚鏋滀綘涓嶄嬌鐢ㄩ潪絀哄垪鐨勮〃錛岄偅涔堜綘蹇呴』媯鏌ヤ竴涓壒孌婅鐨勫垪鏄惁涓虹┖銆備竴鏃︿綘浣跨敤瀹屾瘯涓涓粨鏋滈泦錛屼綘蹇呴』閲婃斁瀹冦傝繖閫氳繃 mysql_free_result 鏉ュ畬鎴愩?nbsp;
鏈鍚庤皟鐢╩ysql_close鏉ュ叧闂綘鍜屾暟鎹簱涔嬮棿鐨勮繛鎺ャ?nbsp;
鏌ョ湅緇撴灉闆嗕綘鍙互涓嶇敤璋冪敤mysql_fetch_row灝辨煡鍑鴻繑鍥炵殑緇撴灉闆嗗叡鏈夊灝戣銆傝繖鐢?br /> int mysql_num_rows(MYSQL_RES *result)鏉ュ畬鎴愩?nbsp;
鏀瑰彉鍒拌涓嬩竴涓?nbsp; mysql_fetch_row 璋冪敤榪斿洖鐨勮錛屼綘鍙互鐢╲oid mysql_data_seek(MYSQL_RES *res, uint offset) 鏀瑰彉鍒頒換鎰忎竴琛屻?nbsp; 鑾峰緱鏇村鐨勪俊鎭?浣犲彲浠ヤ嬌鐢ㄨ繖鍑犱釜棰濆鐨勫嚱鏁版潵鎵懼嚭鍏充簬涓涓煡璇㈢殑鏇村鐨勪俊鎭紝騫朵粠鏈嶅姟鍣ㄨ幏寰楄繖浜涗俊鎭?nbsp;
濡傛灉浣犳墽琛屼竴涓猆PDATE錛?nbsp; INSERT 鎴栬?nbsp; DELETE 鏌ヨ錛屼綘鍙互鐢╥nt mysql_affected_rows 鏉ユ煡鍑哄叡鏈夊灝戣鏁版嵁琚綘褰卞搷鍒般?nbsp;
濡傛灉鍦ㄤ綘鐨勬暟鎹簱閲屾湁浜岃繘鍒舵暟鎹紝閭d箞寰楃煡鏁版嵁鐨勯暱搴﹀皢鏄湁鐢ㄧ殑銆倁nsigned int *mysql_fetch_lengths(MYSQL_RES *mysql) 灝嗚繑鍥炰竴鎸囧嚭浜嗙粨鏋滈泦涓瘡涓鍒?鐨勯暱搴︾殑鏁村瀷鏁扮粍銆?nbsp;
褰撲綘鎻掑叆涓涓甫鏈?nbsp; AUTO_INCREMENT 鍒楃殑琛ㄧ殑鏃跺欙紝浣犲彲浠ョ敤int mysql_insert_id(MYSQL *mysql) 鏉ユ煡鍑虹敓鎴愮殑閭d竴琛岀殑ID銆?nbsp;
======================
int main()
{
MYSQL mysql;
MYSQL_RES * res ;
MYSQL_FIELD * fd ;
MYSQL_ROW row ;
int id[10000];
double result[10000][8];
vector<string> v;
if(mysql_init(&mysql) == NULL)
{
std::cout<<"init mysql data status fail"<<std::endl;
return false;
}
else
{
std::cout<<"init mysql data status success"<<std::endl;
}
if(NULL == mysql_real_connect(&mysql,"localhost","root","","wsnss",MYSQL_PORT,NULL,0))
{
std::cout<<"connect database fail"<<std::endl<<mysql_error(&mysql)<<std::endl;;
return false;
}
else{
std::cout<<"connect database success"<<std::endl;
}
char szSqlText[500]="";
int j = 0;
sprintf(szSqlText,"%s","select * from data_receive ");
if (mysql_query( &mysql, szSqlText))
//榪涜鏁版嵁媯绱?nbsp;
{
//鎵цSQL璇彞鍑洪敊
cout<<"query error"<<endl;
mysql_close( &mysql ) ;
return FALSE ;
}
else
{
res = mysql_store_result( &mysql ) ;
int i;
while((row = mysql_fetch_row(res))) {
id[j] = atoi(row[0]);
for (i = 1; i < mysql_num_fields(res); i++)
{
result[j][i-1] = atof(row[i]);
}
j++;
}
}
for(int i = 0 ; i < 10000; i++)
{
if(i>=j)
break;
char str[10000];
stringstream ss;
ss<<"insert into data_receive(ID,data1,data2,data3, data4,data5,data6,data7,data8)values('"<<id[i]<<"','"<<
result[i][0]<<"','"<<result[i][1]<<"','"<<result[i][2]<<"','"<<
result[i][3]<<"','"<<result[i][4]<<"','"<<result[i][5]<<"','"<<
result[i][6]<<"','"<<result[i][7]<<"');";
string s = ss.str();
v.push_back(s);
}
for(vector<string>::iterator iter = v.begin(); iter != v.end(); ++iter)
{
if(mysql_query(&mysql,(*iter).c_str())!=0)
{
std::cout<<"execute insert syntax fail"<<
std::endl<<mysql_error(&mysql)<<endl;
mysql_close(&mysql);
return 1;
}
}
mysql_free_result(res);
mysql_close(&mysql);
return 0;
}