MySQLÐÔÄÜÓÅ»¯
MySQLÐÔÄÜÓÅ»¯µÄ×î¼Ñ20+Ìõ¾Ñé
½ñÌ죬Êý¾Ý¿âµÄ²Ù×÷Ô½À´Ô½³ÉΪÕû¸öÓ¦ÓõÄÐÔÄÜÆ¿¾±ÁË£¬Õâµã¶ÔÓÚWebÓ¦ÓÃÓÈÆäÃ÷ÏÔ¡£¹ØÓÚÊý¾Ý¿âµÄÐÔÄÜ£¬Õâ²¢²»Ö»ÊÇDBA²ÅÐèÒªµ£ÐĵÄÊ£¬¶øÕâ¸üÊÇÎÒÃdzÌÐòÔ±ÐèҪȥ¹Ø×¢µÄÊÂÇé¡£µ±ÎÒÃÇÈ¥Éè¼ÆÊý¾Ý¿â±í½á¹¹£¬¶Ô²Ù×÷Êý¾Ý¿âʱ£¨ÓÈÆäÊDzé±íʱµÄSQLÓï¾ä£©£¬ÎÒÃǶ¼ÐèҪעÒâÊý¾Ý²Ù×÷µÄÐÔÄÜ¡£ÕâÀÎÒÃDz»»á½²¹ý¶àµÄSQLÓï¾äµÄÓÅ»¯£¬¶øÖ»ÊÇÕë¶ÔMySQLÕâÒ»WebÓ¦ÓÃ×î¶àµÄÊý¾Ý¿â¡£Ï£ÍûÏÂÃæµÄÕâЩÓÅ»¯¼¼ÇɶÔÄãÓÐÓá£
1. Ϊ²éѯ»º´æÓÅ»¯ÄãµÄ²éѯ
´ó¶àÊýµÄMySQL·þÎñÆ÷¶¼¿ªÆôÁ˲éѯ»º´æ¡£ÕâÊÇÌá¸ßÐÔ×îÓÐЧµÄ·½·¨Ö®Ò»£¬¶øÇÒÕâÊDZ»MySQLµÄÊý¾Ý¿âÒýÇæ´¦ÀíµÄ¡£µ±ÓкܶàÏàͬµÄ²éѯ±»Ö´ÐÐÁ˶à´ÎµÄʱºò£¬ÕâЩ²éѯ½á¹û»á±»·Åµ½Ò»¸ö»º´æÖУ¬ÕâÑù£¬ºóÐøµÄÏàͬµÄ²éѯ¾Í²»ÓòÙ×÷±í¶øÖ±½Ó·ÃÎÊ»º´æ½á¹ûÁË¡£
ÕâÀï×îÖ÷ÒªµÄÎÊÌâÊÇ£¬¶ÔÓÚ³ÌÐòÔ±À´Ëµ£¬Õâ¸öÊÂÇéÊǺÜÈÝÒ×±»ºöÂԵġ£ÒòΪ£¬ÎÒÃÇijЩ²éѯÓï¾ä»áÈÃMySQL²»Ê¹Óûº´æ¡£Çë¿´ÏÂÃæµÄʾÀý£º
ÉÏÃæÁ½ÌõSQLÓï¾äµÄ²î±ð¾ÍÊÇ CURDATE() £¬MySQLµÄ²éѯ»º´æ¶ÔÕâ¸öº¯Êý²»Æð×÷Óá£ËùÒÔ£¬Ïñ NOW() ºÍ RAND() »òÊÇÆäËüµÄÖîÈç´ËÀàµÄSQLº¯Êý¶¼²»»á¿ªÆô²éѯ»º´æ£¬ÒòΪÕâЩº¯ÊýµÄ·µ»ØÊǻ᲻¶¨µÄÒ×±äµÄ¡£ËùÒÔ£¬ÄãËùÐèÒªµÄ¾ÍÊÇÓÃÒ»¸ö±äÁ¿À´´úÌæMySQLµÄº¯Êý£¬´Ó¶ø¿ªÆô»º´æ¡£
2. EXPLAIN ÄãµÄ SELECT ²éѯ
ʹÓà EXPLAIN ¹Ø¼ü×Ö¿ÉÒÔÈÃÄãÖªµÀMySQLÊÇÈçºÎ´¦ÀíÄãµÄSQLÓï¾äµÄ¡£Õâ¿ÉÒÔ°ïÄã·ÖÎöÄãµÄ²éѯÓï¾ä»òÊDZí½á¹¹µÄÐÔÄÜÆ¿¾±¡£
EXPLAIN µÄ²éѯ½á¹û»¹»á¸æËßÄãÄãµÄË÷ÒýÖ÷¼ü±»ÈçºÎÀûÓõģ¬ÄãµÄÊý¾Ý±íÊÇÈçºÎ±»ËÑË÷ºÍÅÅÐòµÄ……µÈµÈ£¬µÈµÈ¡£
ÌôÒ»¸öÄãµÄSELECTÓï¾ä£¨ÍƼöÌôÑ¡ÄǸö×Ôӵģ¬Óжà±íÁª½ÓµÄ£©£¬°Ñ¹Ø¼ü×ÖEXPLAIN¼Óµ½Ç°Ãæ¡£Äã¿ÉÒÔʹÓÃphpmyadminÀ´×öÕâ¸öÊ¡£È»ºó£¬Äã»á¿´µ½Ò»Õűí¸ñ¡£ÏÂÃæµÄÕâ¸öʾÀýÖУ¬ÎÒÃÇÍü¼Ç¼ÓÉÏÁËgroup_idË÷Òý£¬²¢ÇÒÓбíÁª½Ó£º
µ±ÎÒÃÇΪ group_id ×ֶμÓÉÏË÷Òýºó£º
ÎÒÃÇ¿ÉÒÔ¿´µ½£¬Ç°Ò»¸ö½á¹ûÏÔʾËÑË÷ÁË 7883 ÐУ¬¶øºóÒ»¸öÖ»ÊÇËÑË÷ÁËÁ½¸ö±íµÄ 9 ºÍ 16 ÐС£²é¿´rowsÁпÉÒÔÈÃÎÒÃÇÕÒµ½Ç±ÔÚµÄÐÔÄÜÎÊÌâ¡£
3. µ±Ö»ÒªÒ»ÐÐÊý¾ÝʱʹÓà LIMIT 1
µ±Äã²éѯ±íµÄÓÐЩʱºò£¬ÄãÒѾ֪µÀ½á¹ûÖ»»áÓÐÒ»Ìõ½á¹û£¬µ«ÒòΪÄã¿ÉÄÜÐèҪȥfetchÓα꣬»òÊÇÄãÒ²Ðí»áÈ¥¼ì²é·µ»ØµÄ¼Ç¼Êý¡£
ÔÚÕâÖÖÇé¿öÏ£¬¼ÓÉÏ LIMIT 1 ¿ÉÒÔÔö¼ÓÐÔÄÜ¡£ÕâÑùÒ»Ñù£¬MySQLÊý¾Ý¿âÒýÇæ»áÔÚÕÒµ½Ò»ÌõÊý¾ÝºóÍ£Ö¹ËÑË÷£¬¶ø²»ÊǼÌÐøÍùºó²éÉÙÏÂÒ»Ìõ·ûºÏ¼Ç¼µÄÊý¾Ý¡£
ÏÂÃæµÄʾÀý£¬Ö»ÊÇΪÁËÕÒÒ»ÏÂÊÇ·ñÓГÖйú”µÄÓû§£¬ºÜÃ÷ÏÔ£¬ºóÃæµÄ»á±È
Ïà¹ØÎĵµ£º
mysqlÍü¼ÇrootÃÜÂëµÄ½â¾ö
Ò». MySQLÃÜÂëµÄ»Ö¸´·½·¨Ö®Ò»
Èç¹ûÍü¼ÇÁËMySQLµÄrootÃÜÂ룬¿ÉÒÔÓÃÒÔÏ·½·¨ÖØÐÂÉèÖãº
1. KILLµôϵͳÀïµÄMySQL½ø³Ì£»
killall -TERM mysqld
2. ÓÃÒÔÏÂÃüÁîÆô¶¯MySQL£¬ÒÔ²»¼ì²éȨÏ޵ķ½Ê½Æô¶¯£»
safe_mysqld --skip-grant-tables &
3. È»ºóÓÿÕÃÜÂ뷽ʽʹÓÃrootÓû§µÇ¼ MySQL£»
......
Á¬Ðø¼¸Ìì°²×°ÅäÖúÍÁ¬½ÓMysqlÊý¾Ý¿â£¬½ñÌìÖÕÓڳɹ¦ÁË£¬»ØÏëÕ⼸Ìì£¬ÕæµÄÊÇÌðËá¿àÀ±¶¼ÓУ¬µ¥mysql¾Í֨װÁ˲»ÏÂ10´Î£¬¶øÔÚeclipseÉϱàдµÄÁ¬½ÓÊý¾Ý¿âµÄ³ÌÐò×ÜÊDZ¨´í£®ÎÒ¶¼ÒѾdownÁËoracal×¼±¸·ÅÆúmysqlÁË£¬²»¹ý£®£®£®¾ÍÏóµçÊÓ¾çÑݵÄÄÇÑù£¬×ª»ú×ÜÊÇÔÚÕâ¸öʱºò³öÏÖ£¬ÏÈÊÇ¿´µ½ÁËsaulzy¹ØÓÚmysql4.1.11°æ±¾µÄ°²×°½éÉÜ£¬½Ó×ÅÓÖÕ ......
Ò»¡¢²é¿´Óû§
1¡¢ÏÔʾµ±Ç°Ê¹ÓõÄuser¼°host£º
mysql>select USER();
2¡¢ÏÔʾ¸ÃÊý¾Ý¿âÊÚȨµÇ½µÄÓû§Ãû(²»ÏÔÊ¾ÖØ¸´Óû§Ãû)£º
mysql>use mysql;
mysql>select distinct(User) from user;
3¡¢ÏÔʾ¸ÃÊý¾Ý¿âÊÚȨµÇ½µÄÓû§Ãû¼°hostÏÞÖÆ£º
£¨1£©·½·¨Ò»£º
mysql>use mysql;
mysql>select User,host from u ......
Ò»£® ½¨±íÓë³õʼ»¯Êý¾Ý
ÔÚmysqlµÄtestÊý¾Ý¿âÖн¨Á¢Ò»ÕÅÐÂ±í£ºtbl_user,½¨±íÓï¾äÈçÏ£º
DROP TABLE IF EXISTS `user`;
CREATE TABLE `tbl_user` (
`userid` varchar(50) NOT NULL,
`name` varchar(50) default '',
`blog` varchar(50) default '',
  ......