MYSQL Êֲ᡾ժ¡¿
20 MySQL¿Í»§¹¤¾ßºÍAPI
20.1 MySQL C API
C API´úÂëÊÇËæMySQL·Ö·¢µÄ£¬Ëü±»°üº¬ÔÚmysqlclient¿âÇÒÔÊÐíC³ÌÐò´æÈ¡Ò»¸öÊý¾Ý¿â¡£
ÔÚ MySQLÔ´´úÂë·Ö·¢Öеĺܶà¿Í»§ÊÇÓÃC±àдµÄ¡£Èç¹ûÄãÕýÔÚÑ°ÕÒÑÝʾÔõÑùʹÓÃC APIµÄÀý×Ó£¬¿´Ò»ÏÂÕâЩ¿Í»§³ÌÐò¡£
´ó¶àÊýÆäËû¿Í»§ API(³ýÁËJavaµÄËùÓÐ)¶¼Ê¹ÓÃmysqlclient¿âÓëMySQL·þÎñÆ÷ͨÐÅ¡£ÕâÒâζ×Å£¬ÀýÈ磬ÄãÄÜÀûÓúܶ౻ÆäËû¿Í»§³ÌÐòʹÓõÄͬһ»·¾³±äÁ¿£¬ÒòΪËûÃÇ´Ó¿âÖÐÒýÓ᣶ÔÕâЩ±äÁ¿µÄÒ»ÕÅ±í£¬¼û12.1 ²»Í¬µÄMySQL³ÌÐòµÄ¸ÅÊö¡£
¿Í»§ÓÐÒ»¸ö×î´óͨѶ»º³åÇø´óС¡£³õʼ·ÖÅäµÄ»º³åÇø´óС(16K×Ö½Ú) ×Ô¶¯µØÔö¼Óµ½×î´ó³ß´ç(ȱʡµÄ×î´óÖµÊÇ24M)¡£ÒòΪ»º³åÇø´óСֻÊÇ°´±£Ö¤ÐèÇó¶ø±»Ôö¼Ó£¬¼òµ¥µØÔö¼ÓȱʡµÄ×î´óÏÞÖƲ¢²»Ôì³É¸ü¶à±»ÏûºÄ¡£¸Ã³ß´ç¼ì²éÖ÷ÒªÊÇÒ»¸ö¶Ô´íÎóµÄ²éѯºÍͨѶ°üµÄ¼ì²é¡£
ͨѶ»º³åÇø±ØÐë×ã¹»´óÒÔ±ãÒ»¸öµ¥¶ÀµÄSQLÓï¾ä(¶Ô¿Í»§-·þÎñÆ÷´«Êä)ºÍÒ»Ðзµ»ØµÄÊý¾Ý(¶Ô·þÎñÆ÷-¿Í»§´«Êä)¡£Ã¿¸öÏ̵߳ÄͨѶ»º³åÇø±»¶¯Ì¬À©´óµ½×î´óÏÞÖÆÀ´´¦ÀíÈκβéѯ»òÐС£ÀýÈ磬Èç¹ûÄã°üº¬´óµ½16MÊý¾ÝµÄBLOBÖµ£¬Äã±ØÐëÓÐÒ»¸öÖÁÉÙ16MͨѶ»º³åÇøÏÞÖÆ(ÔÚ·þÎñÆ÷ºÍ¿Í»§Á½¶Ë)¡£¿Í»§µÄȱʡ×î´óÖµÊÇ24M£¬µ«ÊÇÔÚ·þÎñÆ÷¶ËµÄȱʡ×î´óÖµÊÇ1M¡£Äã¿ÉÒÔÔÚ·þÎñÆ÷Æô¶¯Ê±Í¨¹ý¸Ä±ämax_allowed_packet²ÎÊýµÄÖµÀ´¸Ä±äËü¡£¼û10.2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£
MySQL·þÎñÆ÷ÔÚÿ¸ö²éѯºóËõСÿ¸öͨѶ»º³åÇøµ½net_buffer_length¸ö×Ö½Ú¡£¶Ô¿Í»§£¬ÓëÒ»¸öÁ¬½ÓÏà¹ØµÄ»º³åÇøµÄ´óСû±»¼õÉÙ£¬Ö±µ½Á¬½Ó±»¹Ø±Õ£¬ÔÚ´Ëʱ¿Í»§ÄÚ´æ±»»ØÊÕ¡£
Èç¹ûÄãÓÃÏ̵߳ıà³Ì£¬ÄãÓ¦¸ÃÓÃ--with-thread-safe-client±àÒëMySQL C API£¬Õ⽫ʹC APIÏ̶߳Ôÿ¸öÁ¬½Ó¸ü°²È«¡£Äã¿ÉÒÔÈÃ2¸öÏ̹߳²ÏíÏàͬµÄÁ¬½Ó£¬Ö»ÒªÈç¹ûÄã×öÏÂÁÐÊÂÇ飺
Á½¸öÏ̲߳»ÄÜͬʱÔÚͬһ¸öÁ¬½ÓÉÏ·¢ËͲéѯµ½MySQL¡£ÌرðÊÇÄã±ØÐë±£Ö¤ÔÚÒ»¸ömysql_query()ºÍmysql_store_result()Ö®¼äûÓÐÆäËûÏß³ÌÕýÔÚʹÓÃͬһ¸öÁ¬½Ó¡£
Ðí¶àÏß³ÌÄÜ´æÈ¡ÓÃmysql_store_result()¼ìË÷³öÀ´µÄ²»Í¬½á¹û¼¯ºÏ¡£
Èç¹ûÄãʹÓÃmysql_use_result£¬Äã±ØÐ뱣֤ûÓÐÆäËûÏß³ÌÔÚͬһ¸öÁ¬½ÓÉÏÕýÔÚѯÎÊÈκζ«Î÷£¬Ö±µ½½á¹û¼¯ºÏ±»¹Ø±Õ¡£
20.2 C APIÊý¾ÝÀàÐÍ
MYSQL
Õâ¸ö½á¹¹±íʾ¶ÔÒ»¸öÊý¾Ý¿âÁ¬½ÓµÄ¾ä±ú£¬Ëü±»ÓÃÓÚ¼¸ºõËùÓеÄMySQLº¯Êý¡£
MYSQL_RES
Õâ¸ö½á¹¹´ú±í·µ»ØÐеÄÒ»¸ö²éѯµÄ(SELECT, SHOW, DESCRIBE, EXPLAIN)µÄ½á¹û¡£´Ó²éѯ·µ»ØµÄÐÅÏ¢ÔÚ±¾ÕÂÏÂÎijÆΪ½á¹û¼¯ºÏ¡£
MYSQL_ROW
ÕâÊÇÒ»¸öÐÐÊý¾ÝµÄÀàÐÍ°²È«(type-safe)µÄ±íʾ¡£µ±Ç°ËüʵÏÖΪһ¸ö¼ÆÊý×Ö½ÚµÄ×Ö·û´®Ê
Ïà¹ØÎĵµ£º
»·¾³£ºÁ½Ì¨·þÎñÆ÷IP:192.168.30.57\192.168.30.58
1¡¢ÏÂÔØmysql-5.0.86-linux-i686-glibc23.tar.gz µ½http://dev.mysql.com/downloads/mysql/5.0.html#linuxÏÂÔØ
2¡¢½âѹ tar -zxvf
mysql-5.0.86-linux-i686-glibc23.tar.gz
3¡¢´´½¨Á´½Ó ln -s
mysql-5.0.86-linux-i686-g ......
1¡¢ÔÚlinuxÏ£º
²é¿´mysql ÊÇ·ñÔËÐУºps -ef | grep myslq
Èç¹û MySQL ÕýÔÚÔËÐУ¬Ê×ÏÈɱ֮: kill mysqlµÄ½ø³ÌºÅ¡£
¡¡¡¡Æô¶¯ MySQL :/usr/bin/safe_mysqld --skip-grant-tables &
¡¡¡¡¾Í¿ÉÒÔ²»ÐèÒªÃÜÂë¾Í½øÈë MySQL ÁË¡£
¡¡¡¡È»ºó¾ÍÊÇ
¡¡¡¡>use mysql
¡¡¡¡ ......
Ò»¡¢mysql·þÎñ²Ù×÷
1¡¢net start mysql //Æô¶¯mysql·þÎñ
2¡¢net stop mysql //Í£Ö¹mysql·þÎñ¡¡
3¡¢mysql -hÖ÷»úµØÖ· -uÓû§Ãû £pÓû§ÃÜÂë //½øÈëmysqlÊý¾Ý¿â
4¡¢quit //Í˳ömysql²Ù×÷
5¡¢mysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë //¸ü¸ÄÃÜÂë
6¡¢grant select on Êý¾Ý¿â.* to Óû§Ãû@µÇ¼Ö÷»ú identifie ......
À´Ô´£ºccidnet.com ×÷ÕߣºSabine¡¡ ʱ¼ä£º2006-10-09
ÔÚÊý¾Ý¿â±í¶ªÊ§»òË𻵵ÄÇé¿öÏ£¬±¸·ÝÄãµÄÊý¾Ý¿âÊǺÜÖØÒªµÄ¡£Èç¹û·¢Éúϵͳ±ÀÀ££¬Äã¿Ï¶¨ÏëÄܹ»½«ÄãµÄ±í¾¡¿ÉÄܶªÊ§×îÉÙµÄÊý¾Ý»Ö¸´µ½±ÀÀ£·¢ÉúʱµÄ״̬¡£ÓÐʱ£¬ÕýÊÇMySQL¹ÜÀíÔ±Ôì³ÉÆÆ»µ¡£¹ÜÀíÔ±ÒѾ֪µÀ±íÒÑÆÆ»µ£¬ÓÃÖîÈçvi»òEmacsµÈ±à¼Æ÷ÊÔͼֱ½Ó±à¼ËüÃÇ£¬Õâ¶Ô±í¾ø¶Ô²»ÊǼ ......
ÏÂÃæÊÇcommond:
MySQLCommand cmd;
cmd = new MySQLDriverCS.MySQLCommand("DROP TABLE IF EXISTS test.mysqldrivercs_test",conn);
cmd.ExecuteNonQuery();
cmd.Dispose();
ÏÂÃæÊÇinsert:
string Value = "Value";
int SettingID = 1;
new MySQLInsertCommand(conn,
new object[,] {{"SettingID",SettingID},{"S ......