My SQL ѧϰ×ÊÁÏ¿â

 

MysqlѧϰµãµÎ

Õª×ÔÌì¼«Íø

2003-5-7

122

¡ó¡ó

ÈçºÎ½«Í¼Æ¬´¢´æÔÚMySQLÊý¾Ý¿âÀï 

zwh

2003-5-7

11

¡ó¡ó

MySQLÐÞ¸ÄÃÜÂë·½·¨×ܽá

starseacn(beta)

2003-4-29

11

¡ó¡ó

ÈçºÎʵÏÖMySQLÖеÄÓû§¹ÜÀí? 

À 

2003-4-29

8

¡ó¡ó

ÐÞ¸ÄMySQLÖÐÒ»¸öÓû§µÄÃÜÂë

Àä·ç

2003-4-29

7

¡ó¡ó

·ÖÒ³ÏÔʾMysqlÊý¾Ý¿â¼Ç¼µÄÀà

sharetop 

2003-4-29

8

¡ó¡ó

MySQLÓÃÓÚPHPµÄ¿â, ¶ÔÊý¾Ý¿â½øÐвÙ×÷

Àä·ç

2003-4-29

6

¡ó¡ó

MYSQL·þÎñά»¤±Ê¼Ç 

chedong.com

2003-4-29

10

¡ó¡ó

Mysql³õ²½Ê¹Óà

zhangabo

2003-4-29

21

¡ó¡ó

MYSQL³õѧÕßʹÓÃÖ¸ÄÏ

fanqiang.com

2003-4-12

148

¡ó¡ó

MySQLÓÅ»¯¼òÃ÷Ö¸ÄÏ

êÌ×Ó

2003-4-12

10

¡ó¡ó

MySQLÊý¾ÝĿ¼½á¹¹

fanqiang.com

2003-4-12

10

¡ó¡ó

MySQL·þÎñÆ÷µÄÆô¶¯ÓëÍ£Ö¹

êÌ×Ó

2003-4-12

15

¡ó¡ó

¹ØÓÚmysqlÖÐÎÄÅÅÐòµÄ·½·¨

baitie

2003-4-12

7

¡ó¡ó

MySQL Îļþϵͳ

 

 

 

 

 

MysqlѧϰµãµÎ

×÷ÕߣºÕª×ÔÌì¼«Íø

ÓÉÓÚ¹¤×÷ÖÐÐèҪʹÓÃmysql£¬±ÊÕßͨ¹ýÍøÉÏѧϰ£¬¶¯ÊÖʵ¼ù£¬ÖÕÓÚ´ÓÒ»¸ö"Êý¾Ý¿â²ËÄñ"±ä³ÉÁËÄÜÊìÁ·²Ù×÷mysqlµÄ"×¼´óϺ"ÁË£¬£º)¡£ÏÖ½«Ñ§Ï°ÐĵÃÕûÀíÈçÏ¡£

¡¡¡¡MySQLÊÇÍêÈ«ÍøÂ绯µÄ¿çƽ̨¹ØÏµÐÍÊý¾Ý¿âϵͳ£¬Ò»¸öÕæÕýµÄ¶àÓû§¡¢¶àÏß³ÌSQLÊý¾Ý¿â·þÎñÆ÷£¬Í¬Ê±ÊǾßÓпͻ§»ú/·þÎñÆ÷Ìåϵ½á¹¹µÄ·Ö²¼Ê½Êý¾Ý¿â¹ÜÀíϵͳ¡£Ëü¾ßÓй¦ÄÜÇ¿¡¢Ê¹Óüò±ã¡¢¹ÜÀí·½±ã¡¢ÔËÐÐËٶȿ졢°²È«¿É¿¿ÐÔÇ¿µÈÓŵ㣬Óû§¿ÉÀûÓÃÐí¶àÓïÑÔ±àд·ÃÎÊMySQL Êý¾Ý¿âµÄ³ÌÐò£¬¶ÔÓÚÖС¢Ð¡ÐÍÓ¦ÓÃϵͳÊǷdz£ÀíÏëµÄ¡£³ýÁËÖ§³Ö±ê×¼µÄANSI SQLÓï¾ä£¬¸üÖØÒªµÄÊÇ£¬Ëü»¹Ö§³Ö¶àÖÖÆ½Ì¨£¬¶øÔÚUnixϵͳÉϸÃÈí¼þÖ§³Ö¶àÏß³ÌÔËÐз½Ê½£¬´Ó¶øÄÜ»ñµÃÏ൱ºÃµÄÐÔÄÜ¡£¶ÔÓÚ²»Ê¹ÓÃUnixµÄÓû§£¬Ëü¿ÉÒÔÔÚWindows NTϵͳÉÏÒÔϵͳ·þÎñ·½Ê½ÔËÐУ¬»òÕßÔÚWindows 95/98ϵͳÉÏÒÔÆÕͨ½ø³Ì·½Ê½ÔËÐС£¶øÔÚUnix/LinuxϵͳÉÏ£¬MySQLÖ§³Ö¶àÏß³ÌÔËÐз½Ê½£¬´Ó¶øÄÜ»ñµÃÏ൱ºÃµÄÐÔÄÜ£¬¶øÇÒËüÊÇÊôÓÚ¿ª·ÅÔ´´úÂëÈí¡£

¡¡¡¡MySQLÊÇÒÔÒ»¸ö¿Í»§»ú/·þÎñÆ÷½á¹¹µÄʵÏÖ£¬ËüÓÉÒ»¸ö·þÎñÆ÷ÊØ»¤³ÌÐòmysqldºÍºÜ¶à²»Í¬µÄ¿Í»§³ÌÐòºÍ¿â×é³É£¬MySQL µÄÖ´ÐÐÐÔÄܷdz£¸ß£¬ÔËÐÐËٶȷdz£¿ì£¬²¢·Ç³£ÈÝÒ×ʹÓã¬ÊÇÒ»¸ö·Ç³£°ôµÄÊý¾Ý¿â¡£MySQLµÄ¹Ù·½·¢ÒôÊÇ"My Ess Que Ell"(²»ÊÇ MY-SEQUEL )¡£

Ò»£®»ñµÃMySQL

¡¡¡¡Ê×ÏȱØÐëÏÂÔØMySQL¡£MysqlµÄ¹Ù·½ÍøÕ¾ÊÇ£ºhttp://www.mysql.com £¬ÔÚÖйúµÄ¾µÏñÊÇ£ºhttp://www.freecode.net.cn/mirror/mysql/ »òÕßhttp://www2.linuxforum.net/mirror/mysql/£¬¿ÉÒÔÏÂÔØMySQLµÄÎȶ¨°æ±¾3.22.32(½ØÖ¹µ½±ÊÕß·¢¸åΪֹ)¡£Æä°æ±¾Ãû³ÆÊÇmysql-shareware-3.22.32-win£¬²»µ«Ãâ·Ñ¶øÇÒûÓÐËùνµÄ"30ÌìʹÓÃÆÚÏÞ"¡£

¶þ£®MySQLµÄ°²×°

(Ò»)ÔÚWin98/Winntϵݲװ

¡¡¡¡µ½Ò»¸öĿ¼£¬ÔËÐÐSetup³ÌÐò£¬»áÌáʾÕû¸ö°²×°µÄ¹ý³Ì¡£ËüĬÈϰ²×°µ½c:\mysqlÏ£¬Èç¹ûÒª°²×°µ½ÆäËüĿ¼Ï»¹ÓиĶ¯Ò»Ð©¶«Î÷£¬×÷Ϊ³õѧÕߣ¬¿ÉÒÔÏȲ»¹Ü£¬ÒÔĬÈϵÄĿ¼°²×°¡£ºÃÁË£¬°²×°ºó£¬½øÈëc:\mysql\binĿ¼Ï£¬ÔËÐÐmysqld-shareware.exeÎļþÔÚWin98ÏÂÖ±½ÓÔËÐУ¬Õý³£Çé¿öÏ£¬Ã»ÓÐʲôÌáʾÐÅÏ¢¡£

¡¡¡¡1¡£½«ÏÂÔØºóµÄÎļþ½âѹ½âѹµ½Ò»¸öÁÙʱĿ¼¡£
¡¡¡¡2¡£µã»÷setup.exe°²×°µ½c:\mysql(ĬÈÏ)¡£
¡¡¡¡3¡£½«mysql_example.cnf¿½±´µ½c:\my.cnf£¬°ÑÎļþÖеÄ#basedir=d:/mysql/¸ÄΪbasedir=c:\mysql¡£
¡¡¡¡4¡£½øÈëmsdos£¬µ½Ä¿Â¼c:\mysql\bin¡£
¡¡¡¡5¡£ÊäÈëmysqld-shareware -install£¬´ËΪÆô¶¯MysqlÊý¾Ý¿â·þÎñ¡£
¡¡¡¡6¡£mysqladmin £­u root -p password ÐÂÃÜÂ룬´ËΪÐÞ¸ÄrootÓû§µÄÃÜÂë(Ô­À´Ä¬ÈϵÄÃÜÂëΪ¿Õ¡£)
¡¡¡¡7¡£ÊäÈëmysql -u root -p¡£
¡¡¡¡8£®½Ó×Å£¬¸ù¾ÝÌáʾÊäÈëÐÂÃÜÂë £¬Õý³£Çé¿öÏ»á³öÏÖ¼¸ÐÐÌáʾÐÅÏ¢²¢³öÏÖÌáʾ·ûºÅ£º
¡¡¡¡¡¡¡¡Welcome to the MySQL monitor. Commands end with ; or \g.
¡¡¡¡¡¡¡¡Your MySQL connection id is 6268 to server version: 3.22.32
¡¡¡¡¡¡¡¡Type 'help' for help.
¡¡¡¡¡¡¡¡mysql>

µ½´Ë£¬ÄãÒѾ­³É¹¦°²×°ÁËMySQL¡£

(¶þ)ÔÚWindows2000 ϵݲװ

¡¡¡¡1¡£°²×°Ê±Ñ¡Ä¬ÈÏĿ¼£º c:\mysql
¡¡¡¡2¡£°Ñ c:\mysql\my-example.cnf copy Ϊ c:\my.cnf£¬²¢°Ñ c:\mysql\lib\cygwinb19.dll copy µ½ winnt\system32¡£
¡¡¡¡3¡£Æô¶¯ mysqlµÄ·½·¨ÊÇ£º
¡¡¡¡¡¡¡¡c:\mysql\bin\mysqld-shareware --install
¡¡¡¡¡¡¡¡net start mysql
¡¡¡¡Õâô¼òµ¥£¬¾Í¿ÉÒÔÆô¶¯ÁË¡£
¡¡¡¡4¡£¸ü¸Ä ³¬¼¶Óû§(root) µÄÃÜÂ룺
¡¡¡¡¡¡¡¡C:\mysql\bin\mysql mysql
¡¡¡¡¡¡¡¡mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root';
¡¡¡¡¡¡¡¡mysql> QUIT
¡¡¡¡¡¡¡¡C:\mysql\bin\mysqladmin reload
¡¡¡¡¡¡¡¡Ê¹ÓÃÃüÁîC:\mysql\bin\mysqlshowÈ¥¿´¿´¼ì²âһϡ£ÔÚÕâÀïÓ¦¸ÃÏÔʾ£º
¡¡¡¡¡¡¡¡+-----------+
¡¡¡¡¡¡¡¡| Databases |
¡¡¡¡¡¡¡¡+-----------+
¡¡¡¡¡¡¡¡| mysql |
¡¡¡¡¡¡¡¡| test |
¡¡¡¡¡¡¡¡+-----------+
¡¡¡¡¡¡¡¡¿´µ½ÕâЩÐÅÏ¢ÕâÒ»²½¾ÍÖ¤Ã÷ûÎÊÌâÁË
¡¡¡¡¡¡¡¡ÔÙÀ´:
¡¡¡¡¡¡¡¡C:\mysql\bin\mysqlshow --user=root --password=your password mysql
¡¡¡¡¡¡¡¡ÔÚÕâÀïÓ¦¸ÃÏÔʾ£º
¡¡¡¡¡¡¡¡Database: mysql
¡¡¡¡¡¡¡¡+--------------+
¡¡¡¡¡¡¡¡| Tables |
¡¡¡¡¡¡¡¡+--------------+
¡¡¡¡¡¡¡¡| columns_priv |
¡¡¡¡¡¡¡¡| db |
¡¡¡¡¡¡¡¡| host |
¡¡¡¡¡¡¡¡| tables_priv |
¡¡¡¡¡¡¡¡| user |
¡¡¡¡¡¡¡¡+--------------+
¡¡¡¡¡¡¡¡Ò»Çи㶨£¡

¡¡¡¡5¡£C:\mysql\bin\mysqladmin version status proc
¡¡¡¡Ó¦¸Ã¿ÉÒÔ¿´µ½ÕâЩ°æ±¾ÐÅÏ¢µÄ£º
¡¡¡¡¡¡mysqladmin Ver 8.0 Distrib 3.22.32, for Win95/Win98 on i586
¡¡¡¡¡¡TCX Datakonsult AB, by Monty

¡¡¡¡¡¡Server version 3.22.32-shareware-debug
¡¡¡¡¡¡Protocol version 10
¡¡¡¡¡¡Connection localhost via TCP/IP
¡¡¡¡¡¡TCP port 3306
¡¡¡¡¡¡Uptime: 1 hour 29 min 30 sec

¡¡¡¡¡¡Threads: 1 Questions: 72 Slow queries: 0 Opens: 16 Flush tables: 1 Open tables: 0 Memory in use: 16423K Max memory ¡¡¡¡¡¡¡¡¡¡used: 16490K
¡¡¡¡¡¡Uptime: 5370 Threads: 1 Questions: 72 Slow queries: 0 Opens: 16 Flush tables: 1 Open tables: 0 Memory in use: 16423K ¡¡¡¡¡¡¡¡Max memory used: 16490K
¡¡¡¡¡¡¡¡+----+------+-----------+----+---------+------+-------+------------------+
¡¡¡¡¡¡¡¡| Id | User | Host | db | Command | Time | State | Info |
¡¡¡¡¡¡¡¡+----+------+-----------+----+---------+------+-------+------------------+
¡¡¡¡¡¡¡¡| 35 | ODBC | localhost | | Query | 0 | | show processlist |
¡¡¡¡¡¡¡¡+----+------+-----------+----+---------+------+-------+------------------+
¡¡¡¡½Ó×Å£¬ÓÃshow databasesÃüÁî¿ÉÒÔ½«°²×°µÄÊý¾Ý¿âÁгöÀ´£º
¡¡¡¡¡¡¡¡mysql> show databases;
¡¡¡¡Äã¾Í¿ÉÒÔ¿´µ½£º
¡¡¡¡¡¡¡¡+----------+
¡¡¡¡¡¡¡¡| Database |
¡¡¡¡¡¡¡¡+----------+
¡¡¡¡¡¡¡¡| mysql |
¡¡¡¡¡¡¡¡| test |
¡¡¡¡¡¡¡¡+----------+
¡¡¡¡¡¡¡¡2 rows in set (0.00 sec)
¡¡¡¡Èç¹ûÒ»ÇÐÕý³£µÄ»°£¬ÄÇ˵Ã÷MySQL¿ÉÒÔÍêÈ«¹¤×÷ÁË!Èç¹ûÒªÍ˳ö³ÌÐò£¬ÊäÈ룺exit
¡¡¡¡¡¡¡¡mysql> exit;
¡¡¡¡¡¡¡¡Bye

Èý£®Mysql³£Ê¶

(Ò») ×Ö¶ÎÀàÐÍ

¡¡¡¡1£®INT[(M)]
¡¡¡¡Õý³£´óСÕûÊýÀàÐÍ
¡¡¡¡2£®DOUBLE[(M,D)] [ZEROFILL]
¡¡¡¡Õý³£´óС(Ë«¾«ÃÜ)¸¡µãÊý×ÖÀàÐÍ
¡¡¡¡3£®DATE
¡¡¡¡ÈÕÆÚÀàÐÍ¡£Ö§³ÖµÄ·¶Î§ÊÇ'1000-01-01'µ½'9999-12-31'¡£MySQLÒÔ'YYYY-MM-DD'¸ñʽÀ´ÏÔʾDATEÖµ£¬µ«ÊÇÔÊÐíÄãʹÓÃ×Ö·û´®»òÊý×Ö°ÑÖµ¸³¸ø¡¡¡¡DATEÁÐ
¡¡¡¡4£®CHAR(M)
¡¡¡¡¶¨³¤×Ö·û´®ÀàÐÍ£¬µ±´æ´¢Ê±£¬×ÜÊÇÊÇÓÿոñÌîÂúÓұߵ½Ö¸¶¨µÄ³¤¶È
¡¡¡¡5£®BLOB TEXT
¡¡¡¡BLOB»òTEXTÀàÐÍ£¬×î´ó³¤¶ÈΪ65535(2^16-1)¸ö×Ö·û¡£
¡¡¡¡6£®VARCHAR
¡¡¡¡±ä³¤×Ö·û´®ÀàÐÍ£¬×î³£ÓõÄÀàÐÍ¡£

(¶þ)»ù±¾²Ù×÷

¡¡¡¡1: ÏÔʾÊý¾Ý¿â
¡¡¡¡¡¡mysql>SHOW DATABASES;
¡¡¡¡2£ºµ±Ç°Ñ¡ÔñµÄÊý¾Ý¿â£¬
¡¡¡¡¡¡mysql> SELECT DATABASE();
¡¡¡¡¡¡+------------+
¡¡¡¡¡¡| DATABASE() |
¡¡¡¡¡¡+------------+
¡¡¡¡¡¡| test |
¡¡¡¡¡¡+------------+
¡¡¡¡3.µ±Ç°Êý¾Ý¿â°üº¬µÄ±íÐÅÏ¢£º
¡¡¡¡¡¡mysql> SHOW TABLES;
¡¡¡¡¡¡+---------------------+
¡¡¡¡¡¡| Tables in test |
¡¡¡¡¡¡+---------------------+
¡¡¡¡¡¡| mytable1 |
¡¡¡¡¡¡| mytable2 |
¡¡¡¡¡¡+---------------------+
¡¡¡¡4.»ñÈ¡±í½á¹¹
¡¡¡¡¡¡mysql> desc mytable1;
¡¡¡¡¡¡+---------+-------------+------+-----+---------+-------+
¡¡¡¡¡¡| Field | Type | Null | Key | Default | Extra |
¡¡¡¡¡¡+---------+-------------+------+-----+---------+-------+
¡¡¡¡¡¡| s1 | varchar(20) | YES | | NULL | |
¡¡¡¡¡¡+---------+-------------+------+-----+---------+-------+
¡¡¡¡5£®´´½¨±í
¡¡¡¡±íÊÇÊý¾Ý¿âµÄ×î»ù±¾ÔªËØÖ®Ò»£¬±íÓë±íÖ®¼ä¿ÉÒÔÏ໥¶ÀÁ¢£¬Ò²¿ÉÒÔÏ໥¹ØÁª¡£´´½¨±íµÄ»ù±¾Óï·¨ÈçÏ£º
¡¡¡¡¡¡create table table_name
¡¡¡¡¡¡(column_name datatype {identity |null|not null},
¡¡¡¡¡¡¡­)
¡¡¡¡ÆäÖвÎÊýtable_nameºÍcolumn_name±ØÐëÂú×ãÓû§Êý¾Ý¿âÖеÄʶ±ðÆ÷(identifier)µÄÒªÇ󣬲ÎÊýdatatypeÊÇÒ»¸ö±ê×¼µÄSQLÀàÐÍ»òÓÉÓû§Êý¡¡¡¡¾Ý¿âÌṩµÄÀàÐÍ¡£Óû§ÒªÊ¹ÓÃnon-null´Ó¾äΪ¸÷×Ö¶ÎÊäÈëÊý¾Ý¡£
¡¡¡¡create table»¹ÓÐһЩÆäËûÑ¡ÏÈç´´½¨ÁÙʱ±íºÍʹÓÃselect×Ó¾ä´ÓÆäËûµÄ±íÖжÁȡijЩ×Ö¶Î×é³ÉбíµÈ¡£»¹ÓУ¬ÔÚ´´½¨±íÊÇ¿ÉÓÃPRIMARY ¡¡¡¡KEY¡¢KEY¡¢INDEXµÈ±êʶ·ûÉ趨ijЩ×Ö¶ÎΪÖ÷¼ü»òË÷ÒýµÈ¡£ÊéдÉÏҪעÒ⣺ ÔÚÒ»¶ÔÔ²À¨ºÅÀïµÄÁгöÍêÕûµÄ×Ö¶ÎÇåµ¥¡£×Ö¶ÎÃû¼äÓöººÅ¸ô¿ª¡¡¡¡¡£ ×Ö¶ÎÃû¼äµÄ¶ººÅºóÒª¼ÓÒ»¸ö¿Õ¸ñ¡£×îºóÒ»¸ö×Ö¶ÎÃûºó²»ÓöººÅ¡£ËùÓеÄSQL³ÂÊö¶¼ÒÔ·ÖºÅ";"½áÊø¡£
¡¡¡¡Àý£º
¡¡¡¡¡¡mysql>CREATE TABLE guest (name varchar(10),sex varchar(2),age int(3),career varchar(10));
¡¡¡¡6£®´´½¨Ë÷Òý
¡¡¡¡Ë÷ÒýÓÃÓÚ¶ÔÊý¾Ý¿âµÄ²éѯ¡£Ò»°ãÊý¾Ý¿â½¨ÓжàÖÖË÷Òý·½°¸£¬Ã¿ÖÖ·½°¸¶¼¾«ÓÚÄ³Ò»ÌØ¶¨µÄ²éѯÀà¡£Ë÷Òý¿ÉÒÔ¼ÓËÙ¶ÔÊý¾Ý¿âµÄ²éѯ¹ý³Ì¡£´´½¨¡¡¡¡Ë÷ÒýµÄ»ù±¾Óï·¨ÈçÏ£º
¡¡¡¡¡¡create index index_name
¡¡¡¡¡¡on table_name (col_name[(length)],... )
¡¡¡¡Àý£º
¡¡¡¡¡¡mysql> CREATE INDEX number ON guest (number(10));
¡¡¡¡7£®Ö´Ðвéѯ
¡¡¡¡²éѯÊÇʹÓÃ×î¶àµÄSQLÃüÁî¡£²éѯÊý¾Ý¿âÐèҪƾ½è½á¹¹¡¢Ë÷ÒýºÍ×Ö¶ÎÀàÐ͵ÈÒòËØ¡£´ó¶àÊýÊý¾Ý¿âº¬ÓÐÒ»¸öÓÅ»¯Æ÷(optimizer)£¬°ÑÓû§µÄ²é¡¡¡¡Ñ¯Óï¾äת»»³É¿ÉÑ¡µÄÐÎʽ£¬ÒÔÌá¸ß²éѯЧÂÊ¡£
¡¡¡¡ÖµµÃ×¢ÒâµÄÊÇMySQL²»Ö§³ÖSQL92±ê×¼µÄǶÌ×µÄwhere×Ӿ䣬¼´ËüÖ»Ö§³ÖÒ»¸öwhere×Ӿ䡣Æä»ù±¾Óï·¨ÈçÏ£º
¡¡¡¡¡¡SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]
¡¡¡¡¡¡[DISTINCT | DISTINCTROW | ALL]
¡¡¡¡¡¡select_expression,...
¡¡¡¡¡¡[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
¡¡¡¡¡¡[FROM table_references
¡¡¡¡¡¡[WHERE where_definition]
¡¡¡¡¡¡[GROUP BY col_name,...]
¡¡¡¡¡¡[HAVING where_definition]
¡¡¡¡¡¡[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
¡¡¡¡¡¡[LIMIT [offset,] rows]
¡¡¡¡¡¡[PROCEDURE procedure_name] ]
¡¡¡¡ÆäÖÐwhere´Ó¾äÊǶ¨ÒåÑ¡Ôñ±ê×¼µÄµØ·½£¬where_definition¿ÉÒÔÓв»Í¬µÄ¸ñʽ£¬µ«¶¼×ñÑ­ÏÂÃæµÄÐÎʽ£º
¡¡¡¡×Ö¶ÎÃû²Ù×÷±í´ïʽ
¡¡¡¡×Ö¶ÎÃû²Ù×÷×Ö¶ÎÃû
¡¡¡¡ÔÚµÚÒ»ÖÖÐÎʽÏ£¬±ê×¼°Ñ×ֶεÄÖµÓë±í´ïʽ½øÐбȽϣ»ÔÚµÚ¶þÖÖÐÎʽÏ£¬°ÑÁ½¸ö×ֶεÄÖµ½øÐбȽϡ£¸ù¾ÝËù±È½ÏµÄÊý¾ÝÀàÐÍ£¬¡¡¡¡¡¡¡¡¡¡¡¡¡¡search_conditionÖеIJÙ×÷¿ÉÄÜÑ¡ÒÔϼ¸ÖÖ£º
¡¡¡¡¡¡= ¼ì²éÊÇ·ñÏàµÈ
¡¡¡¡¡¡£¡= ¼ì²éÊÇ·ñ²»µÈ

¡¡¡¡¡¡> (»ò>=) ¼ì²é×ó±ßÖµÊÇ·ñ´óÓÚ(»ò´óÓÚµÈÓÚ)ÓÒ±ßÖµ
¡¡¡¡¡¡< (»ò<=) ¼ì²é×ó±ßÖµÊÇ·ñСÓÚ(»òСÓÚµÈÓÚ)ÓÒ±ßÖµ
¡¡¡¡¡¡[not] between ¼ì²é×ó±ßÖµÊÇ·ñÔÚij¸ö·¶Î§ÄÚ
¡¡¡¡¡¡[not] in ¼ì²é×ó±ßÊÇ·ñij¸öÌØ¶¨¼¯µÄ³ÉÔ±
¡¡¡¡¡¡[not] like ¼ì²é×ó±ßÊÇ·ñΪÓұߵÄ×Ó´®
¡¡¡¡¡¡is [not] null ¼ì²é×ó±ßÊÇ·ñΪ¿ÕÖµ
¡¡¡¡ÔÚÕâÀ¿ÉÒÔÓÃͨÅä·û_´ú±íÈκÎÒ»¸ö×Ö·û£¬%´ú±íÈκÎ×Ö·û´®¡£Ê¹Óùؼü×Ö¡¢ºÍ¿ÉÒÔÉú³É¸´ÔӵĴʣ¬ËüÃÇÔËÐмì²éʱʹÓá¡¡¡²¼¶û±í´ïʽµÄ¶àÖØ±ê×¼¼¯¡£
¡¡¡¡Àý£º
¡¡¡¡¡¡mysql> select t1.name, t2.salary from employee AS t1, info AS t2 where t1.name = t2.name;
¡¡¡¡¡¡mysql> select college, region, seed from tournament
¡¡¡¡¡¡ORDER BY region, seed;
¡¡¡¡¡¡mysql> select col_name from tbl_name WHERE col_name > 0;
¡¡¡¡8£®¸Ä±ä±í½á¹¹
¡¡¡¡ÔÚÊý¾Ý¿âµÄʹÓùý³ÌÖУ¬ÓÐʱÐèÒª¸Ä±äËüµÄ±í½á¹¹£¬°üÀ¨¸Ä±ä×Ö¶ÎÃû£¬ÉõÖÁ¸Ä±ä²»Í¬Êý¾Ý¿â×ֶμäµÄ¹ØÏµ¡£¿ÉÒÔʵÏÖÉÏÊö¸Ä±äµÄÃüÁîÊÇ¡¡¡¡¡¡alter£¬Æä»ù±¾Óï·¨ÈçÏ£º
¡¡¡¡alter table table_name alter_spec [, alter_spec ...]
¡¡¡¡Àý£º
¡¡¡¡¡¡mysql> alter table dbname add column userid int(11) not null primary key auto_increment;
¡¡¡¡ÕâÑù£¬¾ÍÔÚ±ídbnameÖÐÌí¼ÓÁËÒ»¸ö×Ö¶Îuserid£¬ÀàÐÍΪint(11)¡£
¡¡¡¡9£®Ð޸ıíÖÐÊý¾Ý
¡¡¡¡ÔÚʹÓÃÊý¾Ý¿â¹ý³ÌÖУ¬ÍùÍùÒªÐÞ¸ÄÆä±íÖеÄÊý¾Ý£¬±ÈÈçÍù±íÖÐÌí¼ÓÐÂÊý¾Ý£¬É¾³ý±íÖÐÔ­ÓÐÊý¾Ý£¬»ò¶Ô±íÖÐÔ­ÓÐÊý¾Ý½øÐиü¸Ä¡£ËüÃǵĻù±¾¡¡¡¡Óï·¨ÈçÏ£º
¡¡¡¡Êý¾ÝÌí¼Ó£º
¡¡¡¡¡¡insert [into] table_name [(column(s))]
¡¡¡¡¡¡values (expression(s))
¡¡¡¡Àý£º
¡¡¡¡¡¡mysql>insert into mydatabase values('php','mysql','asp','sqlserver','jsp','oracle');

¡¡¡¡10. ±íµÄÊý¾Ý¸üÐÂ

¡¡¡¡(1) Ò»´ÎÐÞ¸ÄÒ»¸ö×ֶΣ¬ÔÙ´Î×¢ÒâÓï·¨¡£Îı¾ÐèÒª¼ÓÒýºÅµ«Êý×Ö²»Òª¡£
¡¡¡¡¡¡mysql>update table01 set field03='new info' where field01=1;
¡¡¡¡¡¡Query OK, 1 row affected (0.00 sec)
¡¡¡¡(2)Ò»´Î¸Ä±ä¶à¸ö×ֶΣ¬¼ÇסÔÚÿһ¸ö¸üеÄ×ֶμäÓöººÅ¸ô¿ª¡£
¡¡¡¡¡¡mysql>update table01 set field04=19991022, field05=062218 where field01=1;
¡¡¡¡¡¡Query OK, 1 row affected (0.00 sec)
¡¡¡¡(3) Ò»´Î¸üжà¸öÊý¾Ý
¡¡¡¡¡¡mysql>update table01 set field05=152901 where field04>19990101;
¡¡¡¡¡¡Query OK, 3 rows affected (0.00 sec)
¡¡¡¡11. ɾ³ýÊý¾Ý
¡¡¡¡¡¡mysql>delete from table01 where field01=3;
¡¡¡¡¡¡Query OK, 1 row affected (0.00 sec)
¡¡¡¡12£®µ¼ÈëÊý¾Ý¿â±í
¡¡¡¡¡¡(1)´´½¨.sqlÎļþ
¡¡¡¡¡¡(2)ÏȲúÉúÒ»¸ö¿âÈçauction.c:\mysql\bin>mysqladmin -u root -p creat auction£¬»áÌáʾÊäÈëÃÜÂ룬Ȼºó³É¹¦´´½¨¡£
¡¡¡¡¡¡(3)µ¼Èëauction.sqlÎļþ
¡¡¡¡¡¡¡¡c:\mysql\bin>mysql -u root -p auction < auction.sql¡£
¡¡¡¡¡¡Í¨¹ýÒÔÉϲÙ×÷£¬¾Í¿ÉÒÔ´´½¨ÁËÒ»¸öÊý¾Ý¿âauctionÒÔ¼°ÆäÖеÄÒ»¸ö±íauction¡£
¡¡¡¡13£®mysqlÊý¾Ý¿âµÄÊÚȨ
¡¡¡¡¡¡mysql>grant select,insert,delete,create,drop
¡¡¡¡¡¡on *.* (»òtest.*/user.*/..)
¡¡¡¡¡¡to Óû§Ãû@localhost
¡¡¡¡¡¡identified by 'ÃÜÂë'£»
¡¡¡¡È磺н¨Ò»¸öÓû§ÕʺÅÒÔ±ã¿ÉÒÔ·ÃÎÊÊý¾Ý¿â£¬ÐèÒª½øÐÐÈçϲÙ×÷£º
¡¡¡¡¡¡mysql> grant usage
¡¡¡¡¡¡-> ON test.*
¡¡¡¡¡¡-> TO testuser@localhost;
¡¡¡¡¡¡Query OK, 0 rows affected (0.15 sec)
¡¡¡¡´Ëºó¾Í´´½¨ÁËÒ»¸öÐÂÓû§½Ð£ºtestuser£¬Õâ¸öÓû§Ö»ÄÜ´ÓlocalhostÁ¬½Óµ½Êý¾Ý¿â²¢¿ÉÒÔÁ¬½Óµ½test Êý¾Ý¿â¡£ÏÂÒ»²½£¬ÎÒÃDZØÐëÖ¸¶¨¡¡¡¡¡¡¡¡¡¡testuserÕâ¸öÓû§¿ÉÒÔÖ´ÐÐÄÄЩ²Ù×÷£º
¡¡¡¡¡¡mysql> GRANT select, insert, delete,update
¡¡¡¡¡¡-> ON test.*
¡¡¡¡¡¡-> TO testuser@localhost;
¡¡¡¡¡¡Query OK, 0 rows affected (0.00 sec)
¡¡¡¡´Ë²Ù×÷ʹtestuserÄܹ»ÔÚÿһ¸ötestÊý¾Ý¿âÖеıíÖ´ÐÐSELECT£¬INSERTºÍDELETEÒÔ¼°UPDATE²éѯ²Ù×÷¡£ÏÖÔÚÎÒÃǽáÊø²Ù×÷²¢Í˳öMySQL¿Í»§¡¡¡¡³ÌÐò£º
¡¡¡¡¡¡mysql> exit
¡¡¡¡¡¡Bye
¡¡¡¡14£®ÊÚȨ MySQLÓû§ÃÜÂë
¡¡¡¡MySQLÊý¾Ý¿âµÄĬÈÏÓû§ÃûΪ"root"(MS SQL Server µÄ sa ÏàËÆ)£¬ÃÜÂëĬÈÏΪ¿Õ¡£ÔÚDOSÌáʾ·û(×¢Ò⣬²»ÊÇmysqlÌáʾ·û)ÏÂÊäÈë
¡¡¡¡c:\mysql\bin>"mysqladmin -u root -p password newpassword
¡¡¡¡»Ø³µºó»áÌáʾÄãÊäÈëÔ­À´µÄÃÜÂ룬ÓÉÓÚÔ­À´ÃÜÂëΪ¿Õ£¬Ö±½Ó»Ø³µ£¬rootÓû§µÄÃÜÂë±ã¸ÄΪ"newpassword"ÁË¡£

 

ÈçºÎ½«Í¼Æ¬´¢´æÔÚMySQLÊý¾Ý¿âÀï 

×÷Õߣºzwh

Èç¹ûÄãÏë°Ñ¶þ½øÖƵÄÊý¾Ý,±ÈÈç˵ͼƬÎļþºÍHTMLÎļþ,Ö±½Ó±£´æÔÚÄãµÄMySQLÊý¾Ý¿â£¬ÄÇôÕâÆªÎÄÕ¾ÍÊÇΪÄã¶øÐ´µÄ£¡ÎÒ½«¸æËßÄãÔõÑùͨ¹ýHTML±íµ¥À´´¢´æÕâЩÎļþ£¬ÔõÑù·ÃÎʺÍʹÓÃÕâЩÎļþ¡£

¡¡¡¡Ò»¡¢±¾ÎĸÅÊö

¡¡¡¡±¾ÎĵÄÖ÷ÒªÄÚÈÝÈçÏ£º

¡¡¡¡£ª ÔÚMySQLÖн¨Á¢Ò»¸öеÄÊý¾Ý¿â
¡¡¡¡£ª Ò»¸öÔõÑù´¢´æÎļþµÄÀý×Ó³ÌÐò
¡¡¡¡£ª Ò»¸öÔõÑù·ÃÎÊÎļþµÄÀý×Ó³ÌÐò

¡¡¡¡¶þ¡¢ÔÚMySQLÖн¨Á¢Ò»¸öеÄdatabase

¡¡¡¡Ê×ÏÈ£¬Äã±ØÐëÔÚÄãµÄMySQLÖн¨Á¢Ò»¸öеÄÊý¾Ý¿â£¬ÎÒÃǽ«»á°ÑÄÇЩ¶þ½øÖÆÎļþ´¢´æÔÚÕâ¸öÊý¾Ý¿âÀï¡£ÔÚÀý×ÓÖÐÎÒ»áʹÓÃÏÂÁнṹ£¬ÎªÁ˽¨Á¢Êý¾Ý¿â£¬Äã±ØÐë×öÏÂÁв½Ö裺

¡¡¡¡1. ½øÈëMySQL¿ØÖÆÆ÷
¡¡¡¡2. ÊäÈëÃüÁî"create database binary_data;"
¡¡¡¡3. ÊäÈëÃüÁî"use binary_data;"

¡¡¡¡ÊäÈëÈçÏÂÃüÁ

¡¡¡¡"CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));" £¨²»ÄܶÏÐУ©

¡¡¡¡Èç¹ûûÓÐÒâÍ⣬Êý¾Ý¿â ºÍ ±í Ó¦¸Ã½¨Á¢ºÃÁË¡£
¡¡¡¡Èý¡¢Ò»¸öÔõÑù´¢´æÎļþµÄÀý×Ó³ÌÐò

¡¡¡¡ÓÃÕâ¸öÀý×ÓÄã¿ÉÒÔͨ¹ýHtml±íµ¥½«Îļþ´«Êäµ½Êý¾Ý¿âÖС£

¡¡¡¡store.php3

¡¡¡¡// store.php3 - by Florian Dittmer

¡¡¡¡?>

¡¡¡¡// Èç¹ûÌá½»ÁË±íµ¥£¬´úÂ뽫±»Ö´ÐÐ:

¡¡¡¡if ($submit) {

¡¡¡¡// Á¬½Óµ½Êý¾Ý¿â
¡¡¡¡// (Äã¿ÉÄÜÐèÒªµ÷ÕûÖ÷»úÃû£¬Óû§ÃûºÍÃÜÂë)

¡¡¡¡MYSQL_CONNECT( "localhost", "root", "password");
¡¡¡¡MySQL_select_db( "binary_data");
¡¡¡¡$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
¡¡¡¡$result=MYSQL_QUERY( "INSERT INTO binary_data (description,bin_data,filename,filesize,filetype)VALUES (¡¯$form_description¡¯,¡¯$data¡¯,¡¯$form_data_name¡¯,¡¯$form_data_size¡¯,¡¯$form_data_type¡¯)");
¡¡¡¡$id= MySQL_insert_id();
¡¡¡¡print "This file has the following Database ID: $id";
¡¡¡¡MYSQL_CLOSE();
¡¡¡¡} else {

¡¡¡¡// ·ñÔòÏÔʾ´¢´æÐÂÊý¾ÝµÄ±íµ¥

¡¡¡¡?>

¡¡¡¡µ±ÎļþÉÏ´«ÖÁweb·þÎñÆ÷Ö®ºó£¬³ÌÐò½«»á¸æËßÄã¸Õ¸ÕÉÏ´«µÄÎļþµÄID£¬¼ÇסÕâ¸öID£¬´ý»áÒªÓõġ£

¡¡¡¡ËÄ¡¢Ò»¸öÔõÑù·ÃÎÊÎļþµÄÀý×Ó³ÌÐò

¡¡¡¡Äã¿ÉÒÔͨ¹ýÕâ¸ö³ÌÐò·ÃÎÊÄã¸Õ²Å´¢´æµÄÎļþ

¡¡¡¡// getdata.php3 - by Florian Dittmer

¡¡¡¡// µ÷Ó÷½·¨: getdata.php3?id=

¡¡¡¡if($id) {

¡¡¡¡// Äã¿ÉÄÜÐèÒªµ÷ÕûÖ÷»úÃû£¬Óû§ÃûºÍÃÜÂë:

¡¡¡¡@MYSQL_CONNECT( "localhost", "root", "password");
¡¡¡¡@MySQL_select_db( "binary_data");
¡¡¡¡$query = "select bin_data,filetype from binary_data where id=$id";
¡¡¡¡$result = @MYSQL_QUERY($query);
¡¡¡¡$data = @MYSQL_RESULT($result,0, "bin_data");
¡¡¡¡$type = @MYSQL_RESULT($result,0, "filetype");
¡¡¡¡Header( "Content-type: $type");
¡¡¡¡echo $data;
¡¡¡¡};
¡¡¡¡?>
¡¡³ÌÐò±ØÐëÖªµÀÒª·ÃÎÊÄǸöÎļþ£¬ Äã±ØÐ뽫ID×÷Ϊһ¸ö²ÎÊý¡£

¡¡¡¡ÀýÈç: Ò»¸öÎļþÔÚÊý¾Ý¿âÖеÄIDΪ2. Äã¿ÉÒÔÕâÑùµ÷ÓÃËü: getdata.php3?id=2

¡¡¡¡Èç¹ûÄ㽫ͼƬ´¢´æÔÚÊý¾Ý¿âÀï, Äã¿ÉÒÔÏòµ÷ÓÃͼƬһÑùµ÷ÓÃËü¡£

¡¡¡¡Example: Ò»¸öͼƬÎļþÔÚÊý¾Ý¿âÖеÄIDΪ3. Äã¿ÉÒÔÕâÑùµ÷ÓÃËü:

¡¡¡¡Îå¡¢ÔõÑù´¢´æ´óÓÚ1MBµÄÎļþ

¡¡¡¡Èç¹ûÄãÏë´¢´æ´óÓÚ1MBµÄÎļþ£¬Äã±ØÐë¶ÔÄãµÄ³ÌÐò¡¢PHPÉèÖá¢SQLÉèÖýøÐÐÐí¶àÐ޸ġ£

¡¡¡¡ÏÂÃæ¼¸ÌõÒ²Ðí¿ÉÒÔ°ïÖúÄã´¢´æÐ¡ÓÚ24MBµÄÎļþ£º

¡¡¡¡1) ÐÞ¸Ä store.php3£¬½« MAX_FILE_SIZE µÄÖµ¸Ä³É 24000000¡£

¡¡¡¡2) ÐÞ¸ÄÄãµÄPHPÉèÖã¬ÔÚÒ»°ãÇé¿öÏ£¬PHPÖ»ÔÊÐíСÓÚ2MBµÄÎļþ£¬Äã±ØÐ뽫max_filesize£¨ÔÚphp.iniÖУ©µÄÖµ¸Ä³É24000000

¡¡¡¡3) È¥µôMYSQLµÄÊý¾Ý°ü´óСÏÞÖÆ,ÔÚÒ»°ãÇé¿öÏ MYSQL СÓÚ1 MBµÄÊý¾Ý°ü¡£

¡¡¡¡4) Äã±ØÐëÓÃÒÔϲÎÊýÖØÆôÄãµÄMYSQL £º/usr/local/bin/safe_MySQLd -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M

¡¡¡¡5) Èç¹ûÈÔÈ»³ö´í£º¿ÉÄÜÊdz¬Ê±´íÎó£¬Èç¹ûÄãͨ¹ýÒ»¸öºÜÂýµÄÁ¬½ÓÀ´´¢´æÒ»¸öºÜ´óµÄÎļþ£¬PHPȱʡµÄʱ¼äÏÞÖÆÎª30Ãë¡£Äã¿ÉÒÔ½«max_execution_time(ÔÚphp.iniÖÐ)µÄÖµ¸ÄΪ-1 ¡£

 

MySQLÐÞ¸ÄÃÜÂë·½·¨×ܽá

×÷Õߣºstarseacn(beta)

Ê×ÏÈÒªÉùÃ÷Ò»µã£¬´ó²¿·ÖÇé¿öÏ£¬ÐÞ¸ÄMySQLÊÇÐèÒªÓÐmysqlÀïµÄrootȨÏ޵쬠 
ËùÒÔÒ»°ãÓû§ÎÞ·¨¸ü¸ÄÃÜÂ룬³ý·ÇÇëÇó¹ÜÀíÔ±¡£  

·½·¨Ò»  
ʹÓÃphpmyadmin£¬ÕâÊÇ×î¼òµ¥µÄÁË£¬ÐÞ¸Ämysql¿âµÄuser±í£¬  
²»¹ý±ðÍüÁËʹÓÃPASSWORDº¯Êý¡£  

·½·¨¶þ  
ʹÓÃmysqladmin£¬ÕâÊÇÇ°ÃæÉùÃ÷µÄÒ»¸öÌØÀý¡£  
mysqladmin -u root -p password mypasswd  
ÊäÈëÕâ¸öÃüÁîºó£¬ÐèÒªÊäÈërootµÄÔ­ÃÜÂ룬ȻºórootµÄÃÜÂ뽫¸ÄΪmypasswd¡£  
°ÑÃüÁîÀïµÄroot¸ÄΪÄãµÄÓû§Ãû£¬Äã¾Í¿ÉÒÔ¸ÄÄã×Ô¼ºµÄÃÜÂëÁË¡£  
µ±È»Èç¹ûÄãµÄmysqladminÁ¬½Ó²»ÉÏmysql server£¬»òÕßÄãûÓа취ִÐÐmysqladmin£¬  
ÄÇôÕâÖÖ·½·¨¾ÍÊÇÎÞЧµÄ¡£  
¶øÇÒmysqladminÎÞ·¨°ÑÃÜÂëÇå¿Õ¡£  

ÏÂÃæµÄ·½·¨¶¼ÔÚmysqlÌáʾ·ûÏÂʹÓã¬ÇÒ±ØÐëÓÐmysqlµÄrootȨÏÞ£º  
·½·¨Èý  
mysql> INSERT INTO mysql.user (Host,User,Password)  
VALUES('%','jeffrey',PASSWORD('biscuit'));  
mysql> FLUSH PRIVILEGES  
È·ÇеØËµÕâÊÇÔÚÔö¼ÓÒ»¸öÓû§£¬Óû§ÃûΪjeffrey£¬ÃÜÂëΪbiscuit¡£  
ÔÚ¡¶mysqlÖÐÎIJο¼ÊֲᡷÀïÓÐÕâ¸öÀý×Ó£¬ËùÒÔÎÒÒ²¾Íд³öÀ´ÁË¡£  
×¢ÒâҪʹÓÃPASSWORDº¯Êý£¬È»ºó»¹ÒªÊ¹ÓÃFLUSH PRIVILEGES¡£  

·½·¨ËÄ  
ºÍ·½·¨ÈýÒ»Ñù£¬Ö»ÊÇʹÓÃÁËREPLACEÓï¾ä  
mysql> REPLACE INTO mysql.user (Host,User,Password)  
VALUES('%','jeffrey',PASSWORD('biscuit'));  
mysql> FLUSH PRIVILEGES  

·½·¨Îå  
ʹÓÃSET PASSWORDÓï¾ä£¬  
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');  
ÄãÒ²±ØÐëʹÓÃPASSWORD()º¯Êý£¬  
µ«ÊDz»ÐèҪʹÓÃFLUSH PRIVILEGES¡£  


·½·¨Áù  
ʹÓÃGRANT ... IDENTIFIED BYÓï¾ä  
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';  
ÕâÀïPASSWORD()º¯ÊýÊDz»±ØÒªµÄ£¬Ò²²»ÐèҪʹÓÃFLUSH PRIVILEGES¡£  


×¢Ò⣺ PASSWORD() [²»ÊÇ]ÒÔÔÚUnix¿ÚÁî¼ÓÃܵÄͬÑù·½·¨Ê©ÐпÚÁî¼ÓÃÜ¡£  

 

ÈçºÎʵÏÖMySQLÖеÄÓû§¹ÜÀí? 

×÷ÕߣºÀ 

MySQLÓÐÒ»Ì×ÏȽøµÄµ«·Ç±ê×¼µÄ°²È«/ÊÚȨϵͳ£¬ÕÆÎÕÆäÊÚȨ»úÖÆÊÇ¿ªÊ¼²Ù×÷MySQLÊý¾Ý¿â±ØÐëÒª×ߵĵÚÒ»²½£¬¶ÔÓÚÒ»¸öÊìϤSQL»ù±¾²Ù×÷µÄÈËÀ´Ëµ£¬Ò²ÊÇMySQLËùÓеÄ֪ʶÖбȽÏÄÑÒÔÀí½âµÄÒ»¸ö²¿·Ö¡£±¾ÎÄͨ¹ý½Ò¿ªÆäÊÚȨϵͳµÄÔË×÷»úÖÆ£¬Ï£Íû´ó¼ÒÄܹ»¿ÉÒÔ¸üºÃµØ²Ù×÷ºÍʹÓÃÕâ¸öÓÅÐãµÄÊý¾Ý¿âϵͳ¡£

±¾ÎÄÖ÷Òª²Î¿¼ÁËMySQL°²×°Ëù¸½µÄʹÓÃÊÖ²áµÚÁùÕÂÖеIJ¿·ÖÄÚÈÝ¡£Èç¹ûÓÐÈκÎÒÉÎÊ£¬ÇëºÍÎÒÁªÏµ£¨lidong@wh.027.net)

1¡¢ÊÚȨ»úÖÆµÄÖ÷Òª×÷ÓÃÊÇʲô£¿

ÊÚȨ»úÖÆµÄ»ù±¾×÷ÓÃÊǸøÄ³¸öÖ÷»úÉϵÄÓû§¶Ôij¸öÊý¾Ý¿âÒÔselect£¬insert£¬updateºÍdeteteµÄȨÏÞ¡£¶øÆä¶îÍâµÄ¹¦ÄÜ»¹°üÀ¨ÊÇ·ñÔÊÐíÄäÃûʹÓÃÊý¾Ý¿â£¬Ê¹ÓÃMysQLµÄÒ»Ð©ÌØ¶¨º¯Êý£¬È磺LOAD DATA INFILEÖ®Àà¡£ÔÚÕâÀïÇë×¢Ò⣬MySQLÖеÄÓû§ÃûºÍUnixϵͳÖеÄÓû§Ãû²¢Ã»ÓÐʲô¹ØÏµ¡£ËäÈ»Ðí¶à¿Í»§¶Ë³ÌÐòÔÊÐíÄã¿ÉÒÔÓõ±Ç°µÄÓû§Ãû½øÐеǼ£¬µ«ÊÇ×î±ê×¼µÄ×ö·¨»¹ÊÇͨ¹ý--userµÄÑ¡Ïî¡£
¡¡
2¡¢ÊÚȨ»úÖÆÊÇÈçºÎ½øÐÐÔË×÷µÄ£¿

ÔÚMySQLÖÐÖ÷»úºÍÓû§µÄÁªºÏÊÓΪΨһ±êÖ¾¡£±ÈÈç˵£¬ÔÚÖ÷»ú1ºÍÖ÷»ú2ÉϵÄÓû§leeʵ¼ÊÉÏÊDz»Í¬µÄ£¬ËûÃǶÔMySQLµÄʹÓÃȨÏÞÒ²¿ÉÒÔÊÇÓвî±ðµÄ¡£¶øÕû¸öÊÚȨ»úÖÆµÄºËÐÄÎÊÌâ¾ÍÊÇÒª½â¾öÊÚÓè´Óij¸öÖ÷»úÉϵǼµÄij¸öÓû§¶Ôij¸öÊý¾Ý¿âµÄʹÓÃȨÏÞ¡£Äã¿ÉÒÔͨ¹ý½Å±¾mysqlaccess²âÊÔÒ»¸öÖ÷»úÉÏÓû§µÄ¶ÔÊý¾Ý¿â²Ù×÷µÄȨÏÞ¡£¶øËùÓеÄÊÚȨÐÅÏ¢¶¼±»´æ´¢ÔÚÊý¾Ý¿âmysqlµÄuser¡¢hostºÍdb±íÖС£ÎÒÃÇ¿ÉÒÔͨ¹ýmysql mysqlµÄÖ¸ÁîÁ¬½Óµ½Õâ¸öÊý¾Ý¿âÖУ¬²¢ÇÒͨ¹ýselect * from user(»òÕßdb,host)ÏÔʾÿ¸öÊý¾Ý±íÖеÄÄÚÈÝ¡£user±íÖÐËùÊÚÓèµÄȨÏÞÊÇÕû¸öÊÚȨ»úÖÆµÄ»ù±¾ÊÚȨ£¬Ò²¾ÍÊÇ˵£¬userÖе͍Òå¶ÔÓÚÈκÎÒ»¸öÓû§+Ö÷»úÀ´Ëµ¶¼ÊÇÊÊÓõ쬳ý·ÇÔÚdb±íÖÐÁíÍâÓÐËù¶¨Ò壬Òò´Ë£¬¶ÔÓÚÓû§À´Ëµ×îºÃÊǾÍij¸öÊý¾Ý¿âΪ»ù´¡½øÐÐÊÚȨ¡£¶øhost±íµÄÖ÷ҪĿµÄÊÇά»¤Ò»¸ö¡°°²È«¡±·þÎñÆ÷µÄÁÐ±í¡£¶øÔÚ¾ßÌ忼ÂÇij¸öÓû§/Ö÷»ú¶Ôij¸öÊý¾Ý¿âµÄȨÏ޵ĵÄʱºò£¬ÎÒÃÇ»¹ÐèÒªÑо¿Ò»ÏÂÊÚȨ»úÖÆµÄµÄÆ¥ÅäËÑË÷»úÖÆ£º

Æä´Î£¬ÔÚÊÚȨ»úÖÆÖпÉÒÔ¶ÔÒ»¸öÓû§µÄ¿ÚÁî½øÐмÓÃÜ£¬¶øÇÒÊDZØÐë¼ÓÃÜ£¬¼ÓÃܵķ½·¨ÊÇpassword('¿ÚÁî')£¬Èç¹ûÖ±½ÓÌîд¿ÚÁîµÄ»°£¬»áµ¼ÖÂÊý¾Ý¿âÎÞ·¨·ÃÎÊ¡£user±íÖÐËùÊÚÓèµÄȨÏÞÊÇÕû¸öÊÚȨ»úÖÆµÄ»ù±¾ÊÚȨ£¬Ò²¾ÍÊÇ˵£¬userÖе͍Òå¶ÔÓÚÈκÎÒ»¸öÓû§+Ö÷»úÀ´Ëµ¶¼ÊÇÊÊÓõ쬳ý·ÇÔÚdb±íÖÐÁíÍâÓÐËù¶¨Ò壬Òò´Ë£¬¶ÔÓÚÓû§À´Ëµ×îºÃÊǾÍij¸öÊý¾Ý¿âΪ»ù´¡½øÐÐÊÚȨ¡£¶øhost±íµÄÖ÷ҪĿµÄÊÇά»¤Ò»¸ö¡°°²È«¡±·þÎñÆ÷µÄÁÐ±í¡£¶øÔÚ¾ßÌ忼ÂÇij¸öÓû§/Ö÷»ú¶Ôij¸öÊý¾Ý¿âµÄȨÏ޵ĵÄʱºò£¬ÎÒÃÇ»¹ÐèÒªÑо¿Ò»ÏÂÊÚȨ»úÖÆµÄµÄÆ¥ÅäËÑË÷»úÖÆ£º

Ê×ÏÈ£¬ÎÒÃÇÐèÒª½éÉÜÒ»ÏÂͳÅä·ûµÄ¸ÅÄͳÅä·û°üÀ¨¡°%¡±£¬ÆäÒâ˼ΪÈÎÒ⣨µÄÖ÷»ú¡¢Óû§»òÕßÊý¾Ý¿â£©£¬¶øÈç¹ûÒ»Ìõ¼Ç¼Ϊ¿ÕµÄ»°£¬Ò²±íʾÈÎÒâµÄÒâ˼¡£Æä´Î£¬ÔÚÊÚȨ»úÖÆÖпÉÒÔ¶ÔÒ»¸öÓû§µÄ¿ÚÁî½øÐмÓÃÜ£¬¶øÇÒÊDZØÐë¼ÓÃÜ£¬¼ÓÃܵķ½·¨ÊÇpassword('¿ÚÁî')£¬Èç¹ûÖ±½ÓÌîд¿ÚÁîµÄ»°£¬»áµ¼ÖÂÊý¾Ý¿âÎÞ·¨·ÃÎÊ¡£
´ÓÎÒÃǶÔÕâÈý¸ö±íµÄÏÔʾÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÕâÈý¸ö±íÖеÄÿһÌõ¼Ç¼°üº¬Á˶ÔÓÚij¸öÓû§µÄÊÚȨÇé¿öµÄÃèÊö£¬MySQLÊý¾Ý¿âÖм¸¸öÏà¹ØµÄÊÚȨ»úÖÆµÄÊý¾Ý±í±»ËÑË÷µÄ˳ÐòΪ£ºuser£¬db£¬host¡£Ò²¾ÍÊÇ˵£¬ÎÒÃǽ«Ê×ÏÈÊ×ÏȼìË÷userÊý¾Ý±í£¬ÕÒµ½µÚÒ»¸öÆ¥ÅäµÄ¼Ç¼£¬ÎÒÃǰÑÔÚuserÊý¾Ý±íÖÐÊ×ÏÈÆ¥ÅäµÄ¼Ç¼³ÆÖ®ÎªPriv£»È»ºóËÑË÷db±í£¬»ñµÃÏàÓ¦µÄÊÚȨ¡£Èç¹ûÔÚdbÊý¾Ý±íÏàÓ¦¼Ç¼ÖÐhost×ֶεÄΪ¿Õ£¬²¢ÇÒPriv¼Ç¼ÖÐÖ÷»úÒ²±»°üº¬ÔÚhost±íµÄhost×Ö¶ÎÖ®ÖУ¬ÕâÑùµÄ»°£¬¶ÔÓÚij¸öuserÀ´Ëµ£¬Ôò¿ÉÒÔÔÚuser±íÖмÓÈëÔÚhost±íÖеÄһЩΪ¡°Y¡±µÄȨÏÞÉ趨¡£Èç¹ûÔÚdb±íÖеÄhost×ֶβ»Îª¿ÕµÄ»°£¬ÄÇôҲ¾Í²»»á¶Ô¸ÃÓû§/Ö÷»úµÄÊÚȨ²úÉúʲôӰÏìÁË¡£
Á˽âÁËÕâÒ»µãÖ®ºó£¬ÎÒÃÇÐèÒªÌÖÂÛÔÚ¸÷¸öÊý¾Ý±íÖеļǼµÄËÑË÷µÄÓÅÏÈȨµÄÎÊÌ⣬Ҳ¾ÍÊÇ˵£¬ÔõÑùÈ·¶¨µÚһƥÅäµÄ¼Ç¼£¬Õâ²¢²»Êǰ´ÕÕÊý¾Ý±íÖеļǼµÄ×ÔÈ»ÏȺó˳ÐòÀ´È·¶¨µÄ¡£ÔÚ¸÷¸öÊý¾Ý±íÄڵĸ÷Ìõ¼Ç¼µÄÓÅÏÈȨÅÅÁÐÈçÏ£º
£¨1£©user±í£º¸ù¾ÝÏÈhostºóuserµÄ˳ÐòÈ·¶¨¡£ËÑË÷¹æÔòÈçÏ£º²»°üº¬Í³Åä·ûµÄ¼Ç¼£¬°üº¬Í³Åä·ûµÄ¼Ç¼£¬¿Õ¼Ç¼¡£¶øÔÚͬÑùÒ»¸öhostÀïÃæ£¬¼ÌÐø°´ÕÕuserÀ´ÅÅÁУ¬¹æÔòºÍÉÏÊöµÄÒ»Ñù¡£
£¨2£©db±í£º¼ìË÷µÄ˳Ðò¸ù¾Ýhost×Ö¶ÎÈ·¶¨£º²»°üº¬Í³Åä·ûµÄ¼Ç¼£¬°üº¬Í³Åä·ûµÄ¼Ç¼£¬¿Õ¼Ç¼¡£
£¨3£©host±í£º¼ìË÷µÄ˳Ðò¸ù¾Ýhost×Ö¶ÎÈ·¶¨£º²»°üº¬Í³Åä·ûµÄ¼Ç¼£¬°üº¬Í³Åä·ûµÄ¼Ç¼£¬¿Õ¼Ç¼¡£ÎÒÃÇÓÃÏÂÃæµÄÀý×ÓÀ´ËµÃ÷½øÐÐÆ¥ÅäËÑË÷µÄ¹æÔò£ºÇë¼ÇסÈç¹ûÄã¸ü¸ÄÁËÕâЩÊý¾Ý±í£¬Äã±ØÐëʹÓÃmysqladmin reloadʹÆäÉúЧ¡£
ÏÂÃæÊÇÑÝʾϵͳÊÇÈçºÎ½øÐÐËÑË÷µÄ£º
+-----------+---------+-
| Host | User | ...
+-----------+---------+-
| % | root | ...
| % | jeffrey | ...
| localhost | root | ...
| localhost | | ...
+-----------+---------+-
ËÑË÷µÄ˳ÐòÓ¦µ±ÊÇ:
localhost/root
localhost/any
any/jeffrey
any/root
ÕâÑù£¬Èç¹ûÔÚlocalhostµÄÓû§jeffreyÒªÁ¬½ÓÊý¾Ý¿âµÄ»°£¬ÄÇôÆäÊÚȨӦµ±¸ù¾Ýlocalhost/¡°ÈÎÒ⡱ ÐÐËù¹æ¶¨µÄȨÏÞ¶ø·Ç¡°ÈÎÒ⡱/jeffreyÐÐËù¹æ¶¨µÄȨÏÞ£¬Çë´ó¼Ò×¢ÒâÕâÒ»µã£¬ÒòΪÈç¹û²»ºÏÊʵÄÅäÖÃÍêÈ«¿ÉÄÜ»áʹµÃÄãÎÞ·¨Õý³£µØÊ¹ÓÃÕâ¸öÊý¾Ý¿âϵͳ¡£
ÎÒÃÇÏÖÔÚÀ´¿´Ò»¸öÌí¼ÓÒ»¸öÓû§µÄÀý×Ó£ºÐèÒªÌí¼ÓÒ»Ãû½Ð×ö¡°custom¡±Óû§£¬Ëû·Ö±ð´ÓÖ÷»ú'localhost', 'server.domain' ºÍ 'whitehouse.gov'Á¬½Óµ½Êý¾Ý¿âÖУ¬ËûµÄ¿ÚÁîΪ¡°stupid¡±£¬¶ÔÓÚÊý¾Ý¿â'bankaccount'ËûÖ»Ïë´Ó¡°localhost¡±½øÐзÃÎÊ£¬¶ø¡°customer¡±Êý¾Ý¿âÔòÓ¦µ±±»ÉÏÊö3¸öÖ÷»úËù·ÃÎÊ¡£ÎÒÃÇͨ¹ýÒÔϵÄsqlÓï¾äÀ´Íê³ÉÆä²Ù×÷¡£

shell> mysql mysql.
mysql> insert into user (host,user,password)
values('localhost','custom',password('stupid'));
mysql> insert into user (host,user,password)
values('server.domain','custom',password('stupid'));
mysql> insert into user (host,user,password)
values('whitehouse.gov','custom',password('stupid'));

mysql> insert into db
(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
values
('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');
mysql> insert into db
(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,
Create_priv,Drop_priv)
values
('%','customers','custom','Y','Y','Y','Y','Y','Y');

3¡¢ÊÚȨÊý¾Ý±í

ÊÚȨÊý¾Ý±í¶Ô±íµÄÐвÙ×÷°üÀ¨select£¬insert£¬updateºÍdelete£¬¶Ô±íºÍÊý¾Ý¿âµÄ²Ù×÷°üÀ¨createºÍdrop¡£ÆäËüµÄÊÚȨ»¹°üÀ¨ÈçLOAD DATA INFILEºÍSELECT INTO OUTFILEºÍ¹ÜÀíÃüÁshutdown, reload, refresh ºÍprocess.Èý¸öÊÚȨÊý¾Ý±íµÄ½á¹¹ÈçÏÂËùʾ£º
user±í
×Ö¶Î ÀàÐÍ ½¡ ĬÈÏÖµ
Host char(60) PRI ""
User char(16) PRI ""
Password char(16) - ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N
Reload_priv enum('N','Y') - N
Shutdown_priv enum('N','Y') - N
Process_priv enum('N','Y') - N
File_priv enum('N','Y') - N

db±í
×Ö¶Î ÀàÐÍ ½¡ ĬÈÏÖµ
Host char(60) PRI ""
Db char(64) PRI ""
User char(16) PRI ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N

host ±íÖ»ÓÐÔÚdbµÄÊý¾ÝÏîÖгöÏÖhostΪ¿ÕµÄÇé¿öÏÂʹÓá£
×Ö¶Î ÀàÐÍ ½¡ ĬÈÏÖµ
Host char(60) PRI ""
Db char(64) PRI ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N

ÔÚÊý¾Ý±íÖпÉÒÔʹÓÃͳÅä·ûºÅ¡£

4¡¢×î³£¼ûµÄAccess denied³öÏÖ´íÎóµÄÔ­Òò

£¨1£©ÄãÊÇ·ñͨ¹ýmysql_install_db½Å±¾½¨Á¢mySQLµÄÊÚȨ±í£¬Äã¿ÉÒÔͨ¹ýmysql -u root½øÐвâÊÔ£¬ÕýÈ·µÄÇé¿öÏÂÓ¦¸Ã²»»á·¢Éú´íÎó¡£»òÕߣ¬ÄãÊÇ·ñÓÐÒ»¸öÎļþΪ£ºuser.ISD£¬Í¨³£ÆäλÖÃÔÚinstall_dir/var/mysql/user.ISD¡£
£¨2£©×î³õʹÓõÄʱºòÄãÓ¦¸ÃʹÓÃmysql -u root mysqlÒÔ´æÈ¡Êý¾Ý¿â£¬»òÕßÒÔrootÉí·Ý½øÐвÙ×÷¡£
£¨3£©¸ü¸ÄÁËÊÚȨ֮ºóÊÇ·ñʹÓÃÁËmysqladmin reload½øÐÐÁ˸üУ¿
£¨4£©ÔÚÒÔ²âÊÔΪĿµÄµÄʱºò£¬ÄãÓ¦µ±Ñ¡ÓÃ--without-grant-tablesÑ¡ÏîÆô¶¯mysqld·þÎñ£¬Äã¿ÉÒÔÔÚÕâʱ¸ü¸ÄÊÚȨ±íµÄÏà¹ØÄÚÈÝ£¬Ò²¿ÉÒÔÓÃmysqlaccess¼ì²éÄãµÄÊÚȨÊÇ·ñµ½Î»¡£
£¨5£©Ã»ÓÐʹÓÃpassword£¨"¿ÚÁî"£©É趨ÁË¿ÚÁ½á¹ûÒ²»á³öÏÖ´íÎó£¬ÔÚʹÓÃ-pµÄÑ¡ÏîµÄʱºò£¬×¢Òâ-ppasswordÖ®¼äûÓпոñ¡£

5¡¢ÈçºÎʹµÃMySQL¸ü¼Ó°²È«£¿

£¨1£©ÎªÃ¿¸öMySQLÓû§Ê¹ÓÿÚÁî¡£¼Çס£¬Èç¹ûÄã²»¼ÓÉè¿ÚÁîµÄ»°£¬ÆäËûÈË¿ÉÒÔͨ¹ýmysql --user other_user databaseµÄ·½Ê½·ÃÎÊÄãµÄÊý¾Ý¿â£¬ÔÚʹÓÃMySQL½øÐмì²âµÄʱºòϵͳҲ»á¸øÄãÏàÓ¦µÄ¾¯¸æÐÅÏ¢¡£
£¨2£©²»ÒªÓÃroot·½Ê½Æô¶¯MySQL·þÎñ¡£MySQL¿ÉÒÔÒÔÈκÎÓû§Æô¶¯¡£Äã¿ÉÒÔͨ¹ýÌí¼ÓÒ»¸öÐÂÓû§µÄ·½Ê½À´Æô¶¯Êý¾Ý¿â·þÎñ¡£ÕâÒ²²»»á¶ÔϵͳÔì³ÉÈκÎÓ°Ï죬ÒòΪMySQLµÄÓû§ºÍUnixµÄÓû§¸ù±¾À´Ëµ¾Íʹ²»Í¬µÄ¡£
£¨3£©²»Òª°Ñ'Process_priv'£¬'File_priv'µÈȨÏÞÊÚÓèÈκÎÈË¡£
£¨4£©Èç¹ûÄã²»ÐÅÈÎÄãµÄDNS£¬ÄãÓ¦µ±Ê¹ÓÃIPÀ´È¡´úÖ÷»úÃû¡£ÔÚÈκÎÇé¿ö϶¼ÒªÐ¡ÐÄ´øÆ¥Åå·ûµÄÖ÷»úÃû¡£ÒÔϵÄһЩѡÏî¿ÉÒÔÓ°Ïìµ½ÄãµÄϵͳµÄ°²È«£º
--secure
¹ËÃû˼Ò壬¿ÉÒÔʹϵͳ¸ù¼Ó°²È«£¬ÒòΪËü¿ÉÒÔ¼ì²éIPµØÖ·µÄÒ»ÖÂÐÔ¡££¨Êµ¼ÊÁ¬½ÓIPµØÖ·ºÍͨ¹ý½âÎöµÄIPµØÖ·£©£¬²»¹ýÕâʹµÃmySQLÔÚ·À»ðǽ¹¤×÷µÄʱºòºÜÄѱ»·À»ðǽÍâµÄÈËËù·ÃÎÊ¡£
--skip-grant-tables
Ò»°ãÇé¿öϲ»ÒªÊ¹ÓÃÕâ¸öÑ¡ÏÕâ¿ÉÒÔÊÔµÄÈκÎÈ˲»ÊÜÏÞÖÆµØ·ÃÎÊÄãµÄϵͳ¡£
--skip-name-resolve
²»½øÐÐÖ÷»úÃûµÄ½âÎö¡£ÔÚÊÚȨÊý¾Ý±íÖеÄËùÓÐÖ÷»úÃû±ØÐëΪipµØÖ·»òÕß'localhost'.
--skip-networking
²»ÔÊÐíͨ¹ýÍøÂç½øÐÐÁ¬½Ó¡£ËùÓеÄÁ¬½Ó±ØÐëͨ¹ýUnix Socket¡£

ÐÞ¸ÄMySQLÖÐÒ»¸öÓû§µÄÃÜÂë

×÷ÕߣºÀä·ç

ÔÚMySQLÖÐÐÞ¸ÄÒ»¸öÓû§£¨±ÈÈç½Ð"hunte"£©µÄÃÜÂ룬¿ÉÒÔÓÃÈçÏÂ3¸ö°ì·¨£º
>>>
#ÔÚ¿ØÖÆÌ¨ÉÏÊäÈë
bash$ mysql -u root mysql
#ÓÃmysql¿Í»§³ÌÐò
mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='hunte';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
<<<

>>>
#ÔÚ¿ØÖÆÌ¨ÉÏÊäÈë
bash$ mysql -u root mysql
mysql> SET PASSWORD FOR hunte=PASSWORD('new password');
mysql> QUIT
<<<

>>>
#Ö±½ÓÔÚ¿ØÖÆÌ¨ÉÏÊäÈë
bash$ mysqladmin -u root "old password" "new password"

·ÖÒ³ÏÔʾMysqlÊý¾Ý¿â¼Ç¼µÄÀà

×÷Õߣºsharetop 

±¾ÀàûÓÐÌṩÁ¬½ÓÊý¾Ý¿âµÄ¹¦ÄÜ£¬ËùÒÔÐèÔÚÍⲿ´ò¿ªÏàÓ¦µÄÊý¾Ý¿â¡£
±¾ÀàҲûÓÐÌṩÏÔʾ¼Ç¼µÄ¹¦ÄÜ£¬Ö»ÊÇ·ÖÒ³¶ÁÈ¡¼Ç¼ÖÁ Result¶þάÊý×éÖС£
ÐèÔÚÍⲿ×Ô¶¨ÒåÊý¾ÝÏÔʾ¸ñʽ¡£
***********************************************/
class TViewPage {

var $Table; //±íÃû
var $MaxLine; //ÿҳÏÔʾÐÐÊý

var $Offset; //¼ÇÂ¼Æ«ÒÆÁ¿
var $Total; //¼Ç¼×ÜÊý
var $Number; //±¾Ò³¶ÁÈ¡µÄ¼Ç¼Êý
var $Result; //¶Á³öµÄ½á¹û

var $TPages; //×ÜÒ³Êý
var $CPages; //µ±Ç°Ò³Êý

var $Condition; //ÏÔʾÌõ¼þ È磺where id='$id' order by id desc
var $PageQuery; //·ÖÒ³ÏÔʾҪ´«µÝµÄ²ÎÊý


//******¹¹Ô캯Êý*************
//²ÎÊý£º±íÃû¡¢×î´óÐÐÊý¡¢Æ«ÒÆÁ¿

function TViewPage($TB,$ML,$OF=0){
$this->Table=$TB;
$this->MaxLine=$ML;
$this->Offset=$OF;
$this->Condition="";
}

//********ÉèÖÃÏÔʾÌõ¼þ*********
//È磺where id='$id' order by id desc
//ÒªÇóÊÇ×Ö´®£¬·ûºÏSQLÓï·¨£¨±¾×Ö´®½«¼ÓÔÚSQLÓï¾äºó£©

function SetCondition($s){
$this->Condition=$s;
}

//******ÉèÖô«µÝ²ÎÊý************
// key²ÎÊýÃû value²ÎÊýÖµ
// È磺setpagequery("id",$id);ÈçÓжà¸ö²ÎÊýÒª´«µÝ£¬¿É¶à´Îµ÷Óñ¾º¯Êý¡£

function SetPageQuery($key,$value){
$tmp[key]=$key; $tmp[value]=$value;
$this->PageQuery[]=$tmp;
}

//********¶ÁÈ¡¼Ç¼***************
//¡¡Ö÷Òª¹¤×÷º¯Êý£¬¸ù¾ÝËù¸øµÄÌõ¼þ´Ó±íÖжÁÈ¡ÏàÓ¦µÄ¼Ç¼
//¡¡·µ»ØÖµÊÇÒ»¸ö¶þάÊý×飬Result[¼Ç¼ºÅ][×Ö¶ÎÃû]

function ReadList() {
$SQL="SELECT Count(*) AS total FROM ".$this->Table." ".$this->Condition;

$result=mysql_query($SQL) or die(mysql_error());
$row=mysql_fetch_Array($result);
$this->Total=$row[total];

if($this->Total>0) { //¸ù¾ÝÌõ¼þ Condition
$SQL="SELECT * FROM ".$this->Table." ".$this->Condition.
" LIMIT ".$this->Offset." , ".$this->MaxLine;

$result=mysql_query($SQL) or die(mysql_error());
$this->Number=mysql_num_rows($result);

while($row=mysql_fetch_Array($result)) $this->Result[]=$row;
}
return $this->Result;
}

//**********ÏÔʾҳÊý*************
//ÏÔʾµ±Ç°Ò³¼°×ÜÒ³Êý

function ThePage() {
$this->TPages=ceil($this->Total/$this->MaxLine);
$this->CPages=$this->Offset/$this->MaxLine+1;
echo "µÚ".$this->CPages."Ò³/¹²".$this->TPages."Ò³";
}

//**********ÏÔʾ·­Ò³°´Å¥*************
//´Ëº¯ÊýÒªÔÚThePage()º¯ÊýÖ®ºóµ÷Óã¡£¡£¡
//ÏÔʾÊ×Ò³¡¢ÏÂÒ³¡¢ÉÏÒ³¡¢Î´Ò³£¬²¢¼ÓÉÏÒª´«µÝµÄ²ÎÊý

function Page() {
$first=0;
$next=$this->Offset+$this->MaxLine;
$prev=$this->Offset-$this->MaxLine;
$last=($this->TPages-1)*$this->MaxLine;

$k=count($this->PageQuery);
$strQuery=""; //Éú³ÉÒ»¸öÒª´«µÝ²ÎÊý×Ö´®
for($i=0;$i<$k;$i++){
$strQuery.="&".$this->PageQuery[$i][key]."=".$this->PageQuery[$i][value];
}

if($this->Offset>=$this->MaxLine)
echo "<A href=$PHP_SELF?offset=".$first.$strQuery.">Ê×Ò³</A>|";
if($prev>=0)
echo "<A href=$PHP_SELF?offset=".$prev.$strQuery.">ÉÏÒ»Ò³</A>|";
if($next<$this->Total)
echo "<A href=$PHP_SELF?offset=".$next.$strQuery.">ÏÂÒ»Ò³</A>|";
if($this->TPages!=0 && $this->CPages<$this->TPages)
echo "<A href=$PHP_SELF?offset=".$last.$strQuery.">ĩҳ</A>";
}

//******end class
}

MySQLÓÃÓÚPHPµÄ¿â, ¶ÔÊý¾Ý¿â½øÐвÙ×÷

×÷ÕߣºÀä·ç

<?
/*
* Utility routines for MySQL.
*/
class MySQL_class {
var $db, $id, $result, $rows, $data, $a_rows;
var $user, $pass, $host;

/* Make sure you change the USERNAME and PASSWORD to your name and
* password for the DB
*/

function Setup ($user, $pass) {
$this->user = $user;
$this->pass = $pass;
}

function Create ($db) {
if (!$this->user) {
$this->user = "USERNAME"; /* ÔÚÕâÀï×÷ÐÞ¸Ä */
}
if (!$this->pass) {
$this->pass = "PASSWORD"; /* ÔÚÕâÀï×÷ÐÞ¸Ä */
}
$this->db = $db;
$this->id = @mysql_pconnect($this->host, $this->user, $this->pass) or
MySQL_ErrorMsg("Unable to connect to MySQL server: $this->host : '$SERVER_NAME'");
$this->selectdb($db);
}

function SelectDB ($db) {
@mysql_select_db($db, $this->id) or
MySQL_ErrorMsg ("Unable to select database: $db");
}

# Use this function is the query will return multiple rows. Use the Fetch
# routine to loop through those rows.
function Query ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform query: $query");
$this->rows = @mysql_num_rows($this->result);
$this->a_rows = @mysql_affected_rows($this->result);
}

# Use this function if the query will only return a
# single data element.
function QueryItem ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform query: $query");
$this->rows = @mysql_num_rows($this->result);
$this->a_rows = @mysql_affected_rows($this->result);
$this->data = @mysql_fetch_array($this->result) or
MySQL_ErrorMsg ("Unable to fetch data from query: $query");
return($this->data[0]);
}

# This function is useful if the query will only return a
# single row.
function QueryRow ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform query: $query");
$this->rows = @mysql_num_rows($this->result);
$this->a_rows = @mysql_affected_rows($this->result);
$this->data = @mysql_fetch_array($this->result) or
MySQL_ErrorMsg ("Unable to fetch data from query: $query");
return($this->data);
}

function Fetch ($row) {
@mysql_data_seek($this->result, $row) or
MySQL_ErrorMsg ("Unable to seek data row: $row");
$this->data = @mysql_fetch_array($this->result) or
MySQL_ErrorMsg ("Unable to fetch row: $row");
}

function Insert ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform insert: $query");
$this->a_rows = @mysql_affected_rows($this->result);
}

function Update ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform update: $query");
$this->a_rows = @mysql_affected_rows($this->result);
}

function Delete ($query) {
$this->result = @mysql_query($query, $this->id) or
MySQL_ErrorMsg ("Unable to perform Delete: $query");
$this->a_rows = @mysql_affected_rows($this->result);
}
}

/* ********************************************************************
* MySQL_ErrorMsg
*
* Print out an MySQL error message
*
*/

function MySQL_ErrorMsg ($msg) {
# Close out a bunch of HTML constructs which might prevent
# the HTML page from displaying the error text.
echo("</ul></dl></ol>n");
echo("</table></script>n");

# Display the error message
$text = "<font color="#ff0000" size=+2><p>Error: $msg :";
$text .= mysql_error();
$text .= "</font>n";
die($text);
}
?>

MYSQL·þÎñά»¤±Ê¼Ç 

×÷Õߣºchedong.com

ʹÓÃMYSQL·þÎñµÄһЩ¾­Ñ飬Ö÷Òª´ÓÒÔϼ¸¸ö·½Ã濼ÂǵÄMYSQL·þÎñ¹æ»®Éè¼Æ¡£  
1 MYSQL·þÎñµÄ°²×°/ÅäÖõÄͨÓÃÐÔ£»  
2 ϵͳµÄÉý¼¶ºÍÊý¾ÝÇ¨ÒÆ·½±ãÐÔ£»  
3 ±¸·ÝºÍϵͳ¿ìËÙ»Ö¸´£»  

MYSQL·þÎñÆ÷µÄ¹æ»®  
=================  
ΪÁËÒÔºóά»¤£¬Éý¼¶±¸·ÝµÄ·½±ãºÍÊý¾ÝµÄ°²È«ÐÔ£¬×îºÃ½«MYSQL³ÌÐòÎļþºÍÊý¾Ý·Ö±ð°²×°ÔÚ¡°²»Í¬µÄÓ²¼þ¡±ÉÏ¡£  
/  
/usr <== ²Ù×÷ϵͳ }==> Ó²ÅÌ1  
/home/mysql <== mysqlÓ¦ÓóÌÐò  
...  
/data/app_1/ <== Ó¦ÓÃÊý¾ÝºÍ½Å±¾ }==> Ó²ÅÌ2  
/data/app_2/  
/data/app_3/  

mysql·þÎñµÄ°²×°ºÍ·þÎñµÄÆô¶¯£º  
MYSQLÒ»°ãʹÓõ±Ç°STABLEµÄ°æ±¾£¬¾¡Á¿²»Ê¹ÓÃ--with-charset=Ñ¡ÏÎҸоõwith-charsetÖ»ÔÚ°´×ÖĸÅÅÐòµÄʱºò²ÅÓÐÓã¬ÕâЩѡÏî»á¶ÔÊý¾ÝµÄÇ¨ÒÆ´øÀ´ºÜ¶àÂé·³¡£  
configure --prefix=/home/mysql  
make  
make install  

·þÎñµÄÆô¶¯ºÍÍ£Ö¹  
================  
1 ¸´ÖÆÈ±Ê¡µÄmysql/var/mysqlµ½ /data/app_1/Ŀ¼Ï£¬  
2 MYSQLDµÄÆô¶¯½Å±¾£ºstart_mysql.sh  
#!/bin/sh  
rundir=`dirname "$0"`  
echo "$rundir"  
/home/mysql/bin/safe_mysqld --user=mysql --pid-file="$rundir"/mysql.pid --datadir="$rundir"/var "$@"  
-O max_connections=500 -O wait_timeout=600 -O key_buffer=32M --port=3402 --socket="$rundir"/mysql.sock &  

×¢ÊÍ£º  
--pid-file="$rundir"/mysql.pid --socket="$rundir"/mysql.sock --datadir="$rundir"/var  
Ä¿µÄ¶¼Êǽ«ÏàÓ¦Êý¾ÝºÍÓ¦ÓÃÁÙʱÎļþ·ÅÔÚÒ»Æð£»  
-O ºóÃæÒ»°ãÊÇ·þÎñÆ÷Æô¶¯È«¾Ö±äÁ¿ÓÅ»¯²ÎÊý£¬ÓÐʱºòÐèÒª¸ù¾Ý¾ßÌåÓ¦Óõ÷Õû£»  
--port: ²»Í¬µÄÓ¦ÓÃʹÓÃPORT²ÎÊý·Ö²¼µ½²»Í¬µÄ·þÎñÉÏÈ¥£¬Ò»¸ö·þÎñ¿ÉÒÔÌṩµÄÁ¬½ÓÊýÒ»°ãÊÇMYSQL·þÎñµÄÖ÷Ҫƿ¾±£»  

Ð޸IJ»Í¬µÄ·þÎñµ½²»Í¬µÄ¶Ë¿Úºó£¬ÔÚrc.localÎļþÖмÓÈ룺  
/data/app_1/start_mysql.sh  
/data/app_2/start_mysql.sh  
/data/app_3/start_mysql.sh  
×¢Ò⣺±ØÐëдȫ·¾¶  

3 MYSQLDµÄÍ£Ö¹½Å±¾£ºstop_mysql.sh  
#!/bin/sh  
rundir=`dirname "$0"`  
echo "$rundir"  
/home/mysql/bin/mysqladmin -u mysql -S"$rundir"/mysql.sock shutdown  

ʹÓÃÕâ¸ö½Å±¾µÄºÃ´¦ÔÚÓÚ£º  
1 ¶à¸ö·þÎñÆô¶¯£ºÖ»ÐèÒªÐ޸Ľű¾ÖеÄ--port=²ÎÊý¡£µ¥¸öĿ¼ÏµÄÊý¾ÝºÍ·þÎñ½Å±¾¶¼ÊÇ¿ÉÒÔ¶ÀÁ¢´ò°üµÄ¡£  
2 ËùÓзþÎñÏàÓ¦Îļþ¶¼Î»ÓÚ/data/app_1/Ŀ¼Ï£º±ÈÈ磺mysql.pid mysql.sock£¬µ±Ò»Ì¨·þÎñÆ÷ÉÏÆô¶¯¶à¸ö·þÎñʱ£¬¶à¸ö·þÎñ²»»á»¥ÏàÓ°Ïì¡£µ«¶¼·Åµ½È±Ê¡µÄ/tmp/ÏÂÔòÓпÉÄܱ»ÆäËûÓ¦ÓÃÎóɾ¡£  
3 µ±Ó²ÅÌ1³öÎÊÌâÒÔºó£¬Ö±½Ó½«Ó²ÅÌ2·Åµ½Ò»Ì¨×°ºÃMYSQLµÄ·þÎñÆ÷ÉϾͿÉÒÔÁ¢¿Ì»Ö¸´·þÎñ£¨Èç¹û·Åµ½my.cnfÀïÔò»¹ÐèÒª±¸·ÝÏàÓ¦µÄÅäÖÃÎļþ£©¡£  

·þÎñÆô¶¯ºó/data/app_1/ÏÂÏàÓ¦µÄÎļþºÍĿ¼·Ö²¼ÈçÏ£º  
/data/app_1/  
start_mysql.sh ·þÎñÆô¶¯½Å±¾  
stop_mysql.sh ·þÎñÍ£Ö¹½Å±¾  
mysql.pid ·þÎñµÄ½ø³ÌID  
mysql.sock ·þÎñµÄSOCK  
var/ Êý¾ÝÇø  
mysql/ Óû§¿â  
app_1_db_1/ Ó¦Óÿ⠠
app_2_db_2/  
...  
/data/app_2/  
...  

²é¿´ËùÓеÄÓ¦Óýø³ÌID£º  
cat /data/*/mysql.pid  

²é¿´ËùÓÐÊý¾Ý¿âµÄ´íÎóÈÕÖ¾£º  
cat /data/*/var/*.err  

¸öÈ˽¨Ò飺MYSQLµÄÖ÷Ҫƿ¾±ÔÚPORTµÄÁ¬½ÓÊýÉÏ£¬Òò´Ë£¬½«±í½á¹¹ÓÅ»¯ºÃÒÔºó£¬ÏàÓ¦µ¥¸öMYSQL·þÎñµÄCPUÕ¼ÓÃÈÔÈ»ÔÚ10£¥ÒÔÉÏ£¬¾ÍÒª¿¼Âǽ«·þÎñ²ð·Öµ½¶à¸öPORTÉÏÔËÐÐÁË¡£  

·þÎñµÄ±¸·Ý  
==========  
¾¡Á¿Ê¹ÓÃMYSQL DUMP¶ø²»ÊÇÖ±½Ó±¸·ÝÊý¾ÝÎļþ£¬ÒÔÏÂÊÇÒ»¸ö°´weekday½«Êý¾ÝÂÖÑ­±¸·ÝµÄ½Å±¾£º±¸·ÝµÄ¼ä¸ôºÍÖÜÆÚ¿ÉÒÔ¸ù¾Ý±¸·ÝµÄÐèÇóÈ·¶¨  
/home/mysql/bin/mysqldump -S/data/app_1/mysql.sock -umysql db_name | gzip -f>/path/to/backup/db_name.`data +%w`.dump.gz  
Òò´ËдÔÚCRONTABÖÐÒ»°ãÊÇ£º  
* 6 * * * /home/mysql/bin/mysqldump -S/data/app_1/mysql.sock -umysql db_name | gzip -f>/path/to/backup/db_name.`data +\%w`.dump.gz  
×¢Ò⣺  
1 ÔÚcrontabÖÐ'%'ÐèҪתÒå³É'\%'  
2 ¸ù¾ÝÈÕ־ͳ¼Æ£¬Ó¦ÓøºÔØ×îµÍµÄʱºòÒ»°ãÊÇÔÚÔçÉÏ6µã  

Ïȱ¸·ÝÔÚ±¾µØÈ»ºó´«µ½Ô¶³ÌµÄ±¸·Ý·þÎñÆ÷ÉÏ£¬»òÕßÖ±½Ó½¨Á¢Ò»¸öÊý¾Ý¿â±¸·ÝÕʺţ¬Ö±½ÓÔÚÔ¶³ÌµÄ·þÎñÆ÷Éϱ¸·Ý£¬Ô¶³Ì±¸·ÝÖ»ÐèÒª½«ÒÔÉϽű¾ÖеÄ-S /path/to/msyql.sock¸Ä³É-h IP.ADDRESS¼´¿É¡£  

Êý¾ÝµÄ»Ö¸´ºÍϵͳµÄÉý¼¶  
======================  
ÈÕ³£Î¬»¤ºÍÊý¾ÝÇ¨ÒÆ£ºÔÚÊý¾ÝÅÌûÓб»ÆÆ»µµÄÇé¿öÏ  
Ó²ÅÌÒ»°ãÊÇϵͳÖÐÊÙÃü×îµÍµÄÓ²¼þ¡£¶øÏµÍ³£¨°üÀ¨²Ù×÷ϵͳºÍMYSQLÓ¦Ó㩵ÄÉý¼¶ºÍÓ²¼þÉý¼¶£¬¶¼»áÓöµ½Êý¾ÝÇ¨ÒÆµÄÎÊÌâ¡£  
Ö»ÒªÊý¾Ý²»±ä£¬ÏÈ×°ºÃ·þÎñÆ÷£¬È»ºóÖ±½Ó½«Êý¾ÝÅÌ£¨Ó²ÅÌ2£©°²×°ÉÏ£¬Ö»ÐèÒª½«Æô¶¯½Å±¾ÖØÐ¼ÓÈëµ½rc.localÎļþÖУ¬ÏµÍ³¾ÍËãÊǺܺõĻָ´ÁË¡£  

ÔÖÄѻָ´£ºÊý¾Ý±¾Éí±»ÆÆ»µµÄÇé¿öÏ  
È·¶¨ÆÆ»µµÄʱ¼äµã£¬È»ºó´Ó±¸·ÝÊý¾ÝÖлָ´¡£  

Ó¦ÓõÄÉè¼ÆÒªµã  
==============  

·ÇÓÃÊý¾Ý¿â²»¿ÉÂ𣿠 
Êý¾Ý¿âµÄÈ·¿ÉÒÔ¼ò»¯ºÜ¶àÓ¦ÓõĽṹÉè¼Æ£¬µ«±¾ÉíÒ²ÊÇÒ»¸öϵͳ×ÊÔ´ÏûºÄ±È½Ï´óµÄÓ¦Óá£ËùÒԺܶàÓ¦ÓÃÈç¹ûûÓкܸߵÄʵʱͳ¼ÆÐèÇóµÄ»°£¬ÍêÈ«¿ÉÒÔÏȼǼµ½ÎļþÈÕÖ¾ÖУ¬¶¨ÆÚµÄµ¼Èëµ½Êý¾Ý¿âÖÐ×öºóÐøÍ³¼Æ·ÖÎö¡£Èç¹û»¹ÊÇÐèÒª¼Ç¼2ά±í½á¹¹£¬½á¹¹×ã¹»¼òµ¥µÄ»°¿ÉÒÔʹÓÃDBM½á¹¹¡£¼´Ê¹ÐèҪʹÓÃÊý¾Ý¿âµÄ£¬Ó¦ÓÃÈç¹ûûÓÐÌ«¸´ÔÓµÄÊý¾ÝÍêÕûÐÔÐèÇóµÄ»¯£¬ÍêÈ«¿ÉÒÔ²»Ê¹ÓÃÄÇЩ֧³ÖÍâ¼üµÄÉÌÒµÊý¾Ý¿â£¬  
Êý¾Ý¿â·þÎñµÄÖ÷Ҫƿ¾±£ºµ¥¸ö·þÎñµÄÁ¬½ÓÊý  
¶ÔÓÚÒ»¸öÓ¦ÓÃÀ´Ëµ£¬Èç¹ûÊý¾Ý¿â±í½á¹¹µÄÉè¼ÆÄܹ»°´ÕÕÊý¾Ý¿âÔ­ÀíµÄ·¶Ê½À´Éè¼ÆµÄ»°£¬²¢ÇÒÒѾ­Ê¹ÓÃÁË×îа汾µÄMYSQL£¬²¢ÇÒ°´ÕձȽÏÓÅ»¯µÄ·½Ê½ÔËÐÐÁË£¬ÄÇô×îºóµÄÖ÷Ҫƿ¾±Ò»°ãÔÚÓÚµ¥¸ö·þÎñµÄÁ¬½ÓÊý£¬¼´Ê¹Ò»¸öÊý¾Ý¿â¿ÉÒÔÖ§³Ö²¢·¢500¸öÁ¬½Ó£¬×îºÃÒ²²»Òª°ÑÓ¦ÓÃÓõ½Õâ¸öµØ²½£¬ÒòΪ²¢·¢Á¬½ÓÊý¹ý¶àÊý¾Ý¿â·þÎñ±¾ÉíÓÃÓÚµ÷¶ÈµÄÏ̵߳ĿªÏúÒ²»á·Ç³£´óÁË¡£ËùÒÔÈç¹ûÓ¦ÓÃÔÊÐíµÄ»°£ºÈÃһ̨»úÆ÷¶àÅܼ¸¸öMYSQL·þÎñ·Öµ£¡£½«·þÎñ¾ùºâµÄ¹æ»®µ½¶à¸öMYSQL·þÎñ¶Ë¿ÚÉÏ£º±ÈÈçapp_1 ==> 3301 app_2 ==> 3302...app_9 ==> 3309¡£Ò»¸ö1GÄÚ´æµÄ»úÆ÷ÅÜÉÏ10¸öMYSQLÊǺÜÕý³£µÄ¡£ÈÃ10¸öMYSQLD³Ðµ£1000¸ö²¢·¢Á¬½ÓЧÂÊÒª±ÈÈÃ2¸öMYSQLD³Ðµ£1000¸öЧÂʸߵĶࡣµ±È»£¬ÕâÑùÒ²»á´øÀ´Ò»Ð©Ó¦Óñà³ÌÉϵĸ´ÔÓ¶È£»  
ʹÓõ¥¶ÀµÄÊý¾Ý¿â·þÎñÆ÷£¨²»ÒªºÍǰ̨WEB·þÎñÇÀÄڴ棩£¬MYSQLÓµÓиü¶àµÄÄÚ´æ¾Í¿ÉÄÜÄÜÓÐЧµÄ½øÐнá¹û¼¯µÄ»º´æ£»  
Ó¦Óþ¡Á¿Ê¹ÓÃPCONNECTºÍpolling»úÖÆ£¬ÓÃÓÚ½ÚÊ¡MYSQL·þÎñ½¨Á¢Á¬½ÓµÄ¿ªÏú£»  
±íµÄºáÏò²ð·Ö£ºÈÃ×î³£±»·ÃÎʵÄ10%µÄÊý¾Ý·ÅÔÚÒ»¸öС±íÀ90%µÄÀúÊ·Êý¾Ý·ÅÔÚÒ»¸ö¹éµµ±íÀÊý¾ÝÖмäͨ¹ý¶¨ÆÚ¡°°á¼Ò¡±ºÍ¶¨ÆÚɾ³ýÎÞЧÊý¾ÝÀ´½ÚÊ¡¡£ÕâÑù¶ÔÓÚÓ¦ÓÃÀ´Ëµ×ÜÊÇÔÚ10%Êý¾ÝÖнøÐÐÑ¡Ôñ£¬±È½ÏÓÐÀûÓÚÊý¾ÝµÄ»º´æ£¬²»ÒªÖ¸ÍûMYSQLÖжԵ¥±í¼Ç¼ÊýÔÚ10Íò¼¶ÒÔÉÏ»¹ÓбȽϸߵÄЧÂÊ¡£  
±íµÄ×ÝÏò²ð·Ö£¨¹ý¶É·¶»¯£©£º½«ËùÓе͍³¤×ֶΣ¨char, intµÈ£©·ÅÔÚÒ»¸ö±íÀËùÓеı䳤×ֶΣ¨varchar,text,blobµÈ£©·ÅÔÚÁíÍâÒ»¸ö±íÀ2¸ö±íÖ®¼äͨ¹ýÖ÷¼ü¹ØÁª£¬ÕâÑù£¬¶¨³¤×ֶαí¿ÉÒԵõ½ºÜ´óµÄÓÅ»¯£¨ÉõÖÁ¿ÉÒÔʹÓÃHEAP±íÀàÐÍ£¬Êý¾ÝÍêÈ«ÔÚÄÚ´æÖдæÈ¡£©£¬ÕâÀïҲ˵Ã÷ÁíÍâÒ»¸öÔ­Ôò£¬¶ÔÓÚÎÒÃÇÀ´Ëµ£¬¾¡Á¿Ê¹Óö¨³¤×ֶοÉÒÔͨ¹ý¿Õ¼äµÄËðʧ»»È¡·ÃÎÊЧÂʵÄÌá¸ß¡£MYSQLÖ®ËùÒÔÖ§³Ö¶àÖÖ±íÀàÐÍ£¬Êµ¼ÊÉÏÊÇÕë¶Ô²»Í¬Ó¦ÓÃÌṩÁ˲»Í¬µÄÓÅ»¯·½Ê½£»  
×ÐϸµÄ¼ì²éÓ¦ÓõÄË÷ÒýÉè¼Æ£¬ÉõÖÁÔÚ·þÎñÆô¶¯ÖмÓÈë --log-slow-queries[=file]ÓÃÓÚ¸ú×Ù·ÖÎöÓ¦ÓÃÆ¿¾±¡£  
¡¡  

²Î¿¼Îĵµ£º  

MYSQLµÄÃüÁîÐÐÑ¡ÏîÇë²Î¿¼£º  
http://www.mysql.com/doc/C/o/Command-line_options.html  

Mysql³õ²½Ê¹Óà

×÷Õߣºzhangabo

SQL£¨½á¹¹»¯²éѯÓïÑÔ£©ÊÇÊÀ½çÉÏ×îÁ÷Ðеĺͱê×¼»¯µÄÊý¾Ý¿âÓïÑÔ¡£´ó¼ÒÓõÄ×î¶àµÄ¿ÉÄÜÊÇMicrosoftµÄSQL Server,Æä¹¦Ö®Ç¿´óÊÇÓÐÄ¿¹²¶ÃµÄ£¬µ«ÊÇËüµÄÌå»ý·Ç³£ÅӴ󣬶øÇÒ¶ÔÓ²¼þÒªÇó±È½Ï¸ß¡£ÒÔSQL Server 7.0À´Ëµ£¬Î¢ÈíµÄÒªÇóÊÇDEC Alpha»ò¼æÈÝϵͳ£¬Intel Pentium 166MH»òÒÔÉÏ»úÐÍ£¬½¨ÒéʹÓà Pentium PRO»òPENTIUM IIоƬµÄ¼ÆËã»ú¡£Èç¹û°²×°µÄSQL Server 7.0ÆóÒµ°æ£¬ÄÇôÖÁÉÙÒªÇó64MµÄÄڴ棬Èç¹ûÊÇÆäËû°æ±¾£¬ÔòÖÁÉÙÐèÒª32MÄÚ´æ¡£

¡¡¡¡¶ÔijЩÏëѧϰSQLµÄÈËÀ´Ëµ,Microsoft SQL Server²¢²»ÊÇ×î¼ÑÑ¡Ôñ£¬ÎÒ¸ø´ó¼Ò½éÉÜÒ»¸ö¸ßЧµÄSQL·þÎñÆ÷-MySQL¡£
MySQLÖ§³Ö¶àÖÖ²Ù×÷ϵͳ,ÈçÏÂËùʾ£º
¡¡¡¡ÓÐÔ­ÉúÏ̵߳ÄAIX 4.x
¡¡¡¡°üÀ¨ MIT-pthreads °üµÄBSDI 2.x
¡¡¡¡ÓÐÔ­ÉúÏ̵߳ÄBSDI 3.0¡¢3.1ºÍ4.x
¡¡¡¡ÓÐÔ­ÉúÏ̵߳ÄDEC UNIX 4.x
¡¡¡¡°üÀ¨MIT-pthreads°üµÄFreeBSD 2.x
¡¡¡¡ÓÐÔ­Éú³ÌµÄFreeBSD 3.x
¡¡¡¡°üÀ¨ MIT-pthreads °üµÄ HP-UX 10.20
¡¡¡¡ÓÐÔ­ÉúÏß³ÌµÄ HP-UX 11.x ¡£
¡¡¡¡ÓÐ LinuxThreads 0.7.1 µÄ Linux 2.0 + »òglibc2.0.7
¡¡¡¡MacOS X ·þÎñÆ÷
¡¡¡¡NetBSD 1.3/1.4 Intel ºÍ NetBSD 1.3 Alpha ( ÐèÒª GNU make£©
¡¡¡¡°üÀ¨ MIT-pthreads °üµÄ OpenBSD 2.x
¡¡¡¡OS/2 Wrap 3¡¢FixPack 29ºÍOS/2 Wrap 4¡¢FixPack 4
¡¡¡¡ÓÐÔ­ÉúÏ̵߳ÄSGI Irix 6.x
¡¡¡¡SPARCºÍx86ÉÏÓÐÔ­ÉúÏ̵߳ÄSolaris 2.5¡¢2.6ºÍ2.7
¡¡¡¡°üÀ¨ MIT-pthreads °üµÄSunOS 4.x
¡¡¡¡ÓÐ×îÐÂFSU PthreadsÒÆÖ²°üµÄSCO OpenServer
¡¡¡¡SCO UnixWare 7.0.1
¡¡¡¡Tru64 Unix

¡¡¡¡MySQLÊÇÒ»¸öÕæÕýµÄ¶àÓû§¡¢¶àÏß³ÌSQLÊý¾Ý¿â·þÎñÆ÷¡£MySQLÊÇÓÉÒ»¸ö¿Í»§»ú/·þÎñÆ÷½á¹¹µÄʵÏÖ£¬ËüÓÉÒ»¸ö·þÎñÆ÷ÊØ»¤³ÌÐòmysqldºÍºÜ¶à²»Í¬µÄ¿Í»§³ÌÐòºÍ¿â×é³É¡£
¡¡¡¡SQLÊÇÒ»ÖÖ±ê×¼»¯µÄÓïÑÔ£¬ËüʹµÃ´æ´¢¡¢¸üкʹæÈ¡ÐÅÏ¢¸üÈÝÒס£ÀýÈ磬ÄãÄÜSQLÓïÑÔΪһ¸öÍøÕ¾¼ìË÷²úÆ·ÐÅÏ¢¼°´æ´¢¹Ë¿ÍÐÅÏ¢¡£Í¬Ê±MySQL×ã¹»¿ìËÙºÍÁé»îÒÔ±ãÔÊÐíÄã´æ´¢¼Ç¼ÎļþºÍͼÏñ¡£
¡¡¡¡MySQL Ö÷ҪĿ±êÊÇ¿ìËÙ¡¢½¡×³ºÍÒ×Óá£×îÔçÊÇÒòΪÎÒÃÇÐèÒªÕâÑùÒ»¸öSQL·þÎñÆ÷£¬ËüÄÜ´¦ÀíÈκÎÄÜÌṩ²»°º¹óÓ²¼þƽ̨ÉϵÄÊý¾Ý¿â³§¼ÒµÄÒ»¸öÊýÁ¿¼¶ÉϵĴóÊý¾Ý¿â£¬µ«Ëٶȸü¿ì£¬MySQL±»¿ª·¢³öÀ´¡£×Ô´Ó 1996 ÄêÒÔÀ´£¬ÎÒÃÇÒ»Ö±¶¼ÔÚʹÓÃMySQL£¬Æä»·¾³ÊÇÓг¬¹ý 40 ¸öÊý¾Ý¿â£¬°üº¬ 10,000¸ö±í£¬ÆäÖг¬¹ý500¸ö±í³¬¹ý7 °ÙÍòÐУ¬Õâ´óÔ¼ÓÐ100 ¸ö¼ª×ֽڵĹؼüÓ¦ÓÃÊý¾Ý¡£
¡¡¡¡´ó¼Ò¿ÉÒÔ´ÓMySQLÖ÷Ò³http://www.mysql.comµÃµ½×îеÄWindows°æ±¾£¬Ä¿Ç°×îеİ汾ÊÇMysql-3.23.36-win£¬ODBCÇý¶¯³ÌÐòµÄ×îа汾ÊÇmyodbc-2.50.36-win95.¹úÄÚÓÐÒ»¸ö¾µÏñÕ¾µã¡¡¡¡¡¡http://www.freecode.com.cn/mirror/mysql/¡£¹úÄÚµÄÐí¶àÕ¾µãÒ²¿ÉÒÔÏÂÔØ£¬±ÈÈç½ÌÓýÍøÄÚµÄÐí¶à´óѧ¶¼ÓÐÆð×îеİ汾ÌṩÏÂÔØ£¬Èçftp://166.111.136.3 , ftp://ftp.cdit.edu.cn , ftp://ftp.dlut.edu.cn ,ftp://ftp.pku.edu.cnµÈµÈ¡£

¡¡¡¡ÎÒÑ¡Ôñ»ùÓÚwin32µÄ°æ±¾½éÉÜÔõôʹÓÃMySQL.
¡¡¡¡ËùÏÈÄãÒªµ½ÒÔÉϽéÉܵÄÕ¾µãÏÂÔØÒ»¸ö±È½Ïеİ汾£¬ÏÂÔØ»ØÀ´Ò»°ãÊÇѹËõ°ü£¬½âѹµ½Ä³Ò»Ä¿Â¼Ï²¢ÔËÐÐsetup.exe. ȱʡµØ£¬MySQL-Win32±»ÅäÖð²×°ÔÚ"C:\mysql"¡£Èç¹ûÄãÏëÒªÔÚÆäËüµØ·½°²×°MySQL£¬Ñ¡ÔñÄãÏë°²×°µÄĿ¼£¬°²×°Íê³É¼´¿É¡£°²×°Íê³ÉÖ®ºó°²×°Ä¿Â¼Ò»°ã°üº¬ÒÔÏÂ×ÖĿ¼£ºbench,bin,data,Docs,examples,include,lib,scripts,share.benchÏ´æ·ÅÅäÖÃÎļþ£¬binÏ´æ·Å¿Í»§³ÌÐòºÍmysql·þÎñÆ÷£¬dataÏ´æ·ÅÄãËù´´½¨µÄÊý¾Ý¿âºÍϵͳÊý¾Ý¿âÒÔ¼°¼Ç¼Îļþ£¬libÊÇ¿âÎļþ£¬DocsÏÂÊÇһЩ½éÉÜmysqlµÄÎĵµincludeϵÄÎļþÊÇmysqlµÄ½Ó¿ÚÍ·Îļþ¡£
¡¡¡¡MySQLʹÓà TCP/IP °ÑÒ»¸ö¿Í»§Á¬½Óµ½Ò»¸ö·þÎñÆ÷¡££¨Õ⽫ÔÊÐíÔÚÄãµÄÍøÂçÉÏÈκλúÆ÷Á¬½ÓÄãµÄMySQL·þÎñÆ÷£©¡£Òò´Ë£¬Äã±ØÐëÔÚÆô¶¯MySQLǰÔÚÄãµÄ»úÆ÷Éϰ²×°TCP/IP£¬Äã¿ÉÒÔÔÚÄãµÄWindows CDROMÉÏÕÒµ½TCP/IP ¡£Èç¹ûÄãÕýÔÚʹÓÃÒ»¸ö¾ÉµÄWin95°æ±¾(ÀýÈçOSR2)£¬ºÜÓпÉÄÜÄãÓÐÒ»¸öÀϵÄWinsock°ü£¡MySQLÐèÒªWinsock 2£¡Äã¿É´Ó΢ÈíµÃµ½×îеÄWinsock¡£Win98ÓÐеÄWinsock 2¿â×÷Ϊȱʡ£¬ÕâÑùÉÏÊö²»ÊÊÓÃÓÚWin98¡£
¡¡¡¡Äã¿ÉÒÔÓÃÈýÖÖ²»Í¬·½Ê½Æô¶¯ÄãµÄMySQL·þÎñÆ÷£º
¡¡¡¡Mysqld ,ÓÃÍêÕûµ÷ÊÔºÍ×Ô¶¯´æ´¢Æ÷·ÖÅä¼ì²é±àÒë;
¡¡¡¡Mysql-opt, ¶ÔPentium ´¦ÀíÆ÷ÓÅ»¯ ,
¡¡¡¡Mysqlc,¾ßÓÐÃüÁîÀúÊ·¹¦ÄÜ(¿ÉÒÔÓÃÉÏϼýÍ··­ÔÄÀúÊ·¼Ç¼£¬ÃâµÃÿ´ÎʹÓö¼ÒªÖØÐÂÊäÈëÃüÁî).
¡¡¡¡ÎªÁËÆô¶¯mysqld·þÎñÆ÷£¬ÄãÓ¦¸ÃÆô¶¯Ò»¸öMSDOS´°¿Ú²¢¼üÈ룺
X:\mysql\bin\mysqld/mysql-opt/mysqlc(XΪĿ±êÇý¶¯Æ÷)
Õ⽫ÔÚÒ»¸öûÓд°¿ÚµÄ±³¾°Æô¶¯mysqld¡£
Äã¿ÉÒÔÕâÑùɱËÀMySQL·þÎñÆ÷£¬Ö´ÐУº
C:\mysql\bin\mysqladmin -u root shutdown¡£
¡¡¡¡Ä㻹¿ÉÒÔÓÃÒ»¸öµÚÈý·½Ó¦ÓóÌÐòwinmysqladminÀ´¹ÜÀíMysql,Õâ¸öÈí¼þÒ²¿ÉÒÔ´ÓÐí¶àÕ¾µãµÃµ½¡£
¡¡¡¡Èç¹ûÄãÏë´ÓÆäËûµØ·½Á¬½Óµ½±¾µØÊý¾Ý¿â£¬Ä㻹ÐèÒª°²×°ODBCÇý¶¯³ÌÐòmyodbc.
¡¡¡¡Í¨¹ýÖ´ÐÐÏÂÁÐÃüÁÄãÄܲâÊÔMySQLÊÇ·ñÕýÔÚ¹¤×÷£º
C:\mysql\bin\mysqlshow
C:\mysql\bin\mysqlshow -u root mysql
C:\mysql\bin\mysqladmin version status proc
C:\mysql\bin\mysql test
¡¡¡¡ÓÃÏÂÃæÕâ¸öÓï¾ä¿ÉÒÔÉèÖÃroot¿ÚÁî:
C:\mysql\bin\mysqladmin reload
C:\mysql\bin\mysqladmin -u root password your_password
¡¡¡¡¶Ô¹²Ïí°æÈí¼þ£¬¿ÉÒÔÕâÑùÉèÖÃroot¿ÚÁ
C:\mysql\bin\mysql mysql
mysql> UPDATE user SET password=PASSWORD('your password') WHERE user='root';
mysql> QUIT
C:\mysql\bin\mysqladmin reload

¡¡¡¡È«²¿ÉèÖúÃÒÔºó£¬Äã¾Í¿ÉÒÔʹÓÃmysqlÁË£¬ÔËÐУº
x:\mysql\bin\mysql -h localhost -u root -p
¡¡¡¡È»ºó¸ù¾ÝÌáʾÊäÈëÄãµÄrootÃÜÂ룬³öÏÖÌáʾ·ûmysql>,ÏÖÔÚÄã±ã¿ÉÒÔÊäÈëÃüÁî½øÐвÙ×÷ÁË¡£È磺
show databases; ÏÔʾÏÖÓÐÊý¾Ý¿â
use databasename;´ò¿ªÃûΪdatabasenameµÄÊý¾Ý¿â
show tables;ÏÔʾÊý¾Ý¿âϵıí
create table tablename (column1,column2,¡­);´´½¨ÃûΪtablenameµÄ±í£¬°üº¬À¨ºÅÖеö×Ö¶Î
select£¬update,insert into ,delete create index,create viewµÈÃüÁî²Ù×Ýmysql½øÐвéѯ¡£
¡¡¡¡ÄãÒ²¿ÉÒÔ´ÓÔ¶¶ËµÇ¼µ½±¾µØÊý¾Ý¿â£¬Ö»Òª½«-hºóµÄlocalhost¸ÄΪ·þÎñÆ÷µÄipµØÖ·¼´¿É£¬½øÈëÖ®ºóµÄ²Ù×÷ÊÇÒ»ÑùµÄ¡£

MYSQL³õѧÕßʹÓÃÖ¸ÄÏ

×÷Õߣºfanqiang.com

(ÉÏÆª)   
ÓкܶàÅóÓÑËäÈ»°²×°ºÃÁËmysqlµ«È´²»ÖªÈçºÎʹÓÃËü¡£ÔÚÕâÆªÎÄÕÂÖÐÎÒÃǾʹÓÁ¬½ÓMYSQL¡¢ÐÞ¸ÄÃÜÂë¡¢Ôö¼ÓÓû§µÈ·½ÃæÀ´Ñ§Ï°Ò»Ð©MYSQLµÄ³£ÓÃÃüÁî¡£   
Ò»¡¢Á¬½ÓMYSQL¡£   
¸ñʽ£º mysql -hÖ÷»úµØÖ· -uÓû§Ãû £­pÓû§ÃÜÂë   
1¡¢Àý1£ºÁ¬½Óµ½±¾»úÉϵÄMYSQL¡£   
Ê×ÏÈÔÚ´ò¿ªDOS´°¿Ú£¬È»ºó½øÈëĿ¼ mysqlbin£¬ÔÙ¼üÈëÃüÁîmysql -uroot -p£¬»Ø³µºóÌáʾÄãÊäÃÜÂ룬Èç¹û¸Õ°²×°ºÃMYSQL£¬³¬¼¶Óû§rootÊÇûÓÐÃÜÂëµÄ£¬¹ÊÖ±½Ó»Ø³µ¼´¿É½øÈëµ½MYSQLÖÐÁË£¬MYSQLµÄÌáʾ·ûÊÇ£ºmysql>   
2¡¢Àý2£ºÁ¬½Óµ½Ô¶³ÌÖ÷»úÉϵÄMYSQL¡£¼ÙÉèÔ¶³ÌÖ÷»úµÄIPΪ£º110.110.110.110£¬Óû§ÃûΪroot,ÃÜÂëΪabcd123¡£Ôò¼üÈëÒÔÏÂÃüÁ   
mysql -h110.110.110.110 -uroot -pabcd123   
£¨×¢:uÓëroot¿ÉÒÔ²»Óüӿոñ£¬ÆäËüÒ²Ò»Ñù£©   
3¡¢Í˳öMYSQLÃüÁ exit £¨»Ø³µ£©   
¶þ¡¢ÐÞ¸ÄÃÜÂë¡£   
¸ñʽ£ºmysqladmin -uÓû§Ãû -p¾ÉÃÜÂë password ÐÂÃÜÂë   
1¡¢Àý1£º¸øroot¼Ó¸öÃÜÂëab12¡£Ê×ÏÈÔÚDOSϽøÈëĿ¼mysqlbin£¬È»ºó¼üÈëÒÔÏÂÃüÁî   
mysqladmin -uroot -password ab12   
×¢£ºÒòΪ¿ªÊ¼Ê±rootûÓÐÃÜÂ룬ËùÒÔ-p¾ÉÃÜÂëÒ»Ïî¾Í¿ÉÒÔÊ¡ÂÔÁË¡£   
2¡¢Àý2£ºÔÙ½«rootµÄÃÜÂë¸ÄΪdjg345¡£   
mysqladmin -uroot -pab12 password djg345   
Èý¡¢Ôö¼ÓÐÂÓû§¡££¨×¢Ò⣺ºÍÉÏÃæ²»Í¬£¬ÏÂÃæµÄÒòΪÊÇMYSQL»·¾³ÖеÄÃüÁËùÒÔºóÃæ¶¼´øÒ»¸ö·ÖºÅ×÷ΪÃüÁî½áÊø·û£©   
¸ñʽ£ºgrant select on Êý¾Ý¿â.* to Óû§Ãû@µÇ¼Ö÷»ú identified by "ÃÜÂë"   
Àý1¡¢Ôö¼ÓÒ»¸öÓû§test1ÃÜÂëΪabc£¬ÈÃËû¿ÉÒÔÔÚÈκÎÖ÷»úÉϵǼ£¬²¢¶ÔËùÓÐÊý¾Ý¿âÓвéѯ¡¢²åÈë¡¢Ð޸ġ¢É¾³ýµÄȨÏÞ¡£Ê×ÏÈÓÃÒÔrootÓû§Á¬ÈëMYSQL£¬È»ºó¼üÈëÒÔÏÂÃüÁ   
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";   
µ«Àý1Ôö¼ÓµÄÓû§ÊÇÊ®·ÖΣÏյģ¬ÄãÏëÈçij¸öÈËÖªµÀtest1µÄÃÜÂ룬ÄÇôËû¾Í¿ÉÒÔÔÚinternetÉϵÄÈκÎһ̨µçÄÔÉϵǼÄãµÄmysqlÊý¾Ý¿â²¢¶ÔÄãµÄÊý¾Ý¿ÉÒÔΪËùÓûΪÁË£¬½â¾ö°ì·¨¼ûÀý2¡£   
Àý2¡¢Ôö¼ÓÒ»¸öÓû§test2ÃÜÂëΪabc,ÈÃËûÖ»¿ÉÒÔÔÚlocalhostÉϵǼ£¬²¢¿ÉÒÔ¶ÔÊý¾Ý¿âmydb½øÐвéѯ¡¢²åÈë¡¢Ð޸ġ¢É¾³ýµÄ²Ù×÷£¨localhostÖ¸±¾µØÖ÷»ú£¬¼´MYSQLÊý¾Ý¿âËùÔÚµÄÄÇ̨Ö÷»ú£©£¬ÕâÑùÓû§¼´Ê¹ÓÃÖªµÀtest2µÄÃÜÂ룬ËûÒ²ÎÞ·¨´ÓinternetÉÏÖ±½Ó·ÃÎÊÊý¾Ý¿â£¬Ö»ÄÜͨ¹ýMYSQLÖ÷»úÉϵÄwebÒ³À´·ÃÎÊÁË¡£   
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";   
Èç¹ûÄã²»Ïëtest2ÓÐÃÜÂ룬¿ÉÒÔÔÙ´òÒ»¸öÃüÁÃÜÂëÏûµô¡£   
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";   


(ÏÂÆª)   
ÔÚÉÏÆªÎÒÃǽ²Á˵Ǽ¡¢Ôö¼ÓÓû§¡¢ÃÜÂë¸ü¸ÄµÈÎÊÌâ¡£ÏÂÆªÎÒÃÇÀ´¿´¿´MYSQLÖÐÓйØÊý¾Ý¿â·½ÃæµÄ²Ù×÷¡£×¢Ò⣺Äã±ØÐëÊ×ÏȵǼµ½MYSQLÖУ¬ÒÔϲÙ×÷¶¼ÊÇÔÚMYSQLµÄÌáʾ·ûϽøÐе쬶øÇÒÿ¸öÃüÁîÒԷֺŽáÊø¡£   

Ò»¡¢²Ù×÷¼¼ÇÉ   
1¡¢Èç¹ûÄã´òÃüÁîʱ£¬»Ø³µºó·¢ÏÖÍü¼Ç¼Ó·ÖºÅ£¬ÄãÎÞÐëÖØ´òÒ»±éÃüÁֻҪ´ò¸ö·ÖºÅ»Ø³µ¾Í¿ÉÒÔÁË¡£Ò²¾ÍÊÇ˵Äã¿ÉÒÔ°ÑÒ»¸öÍêÕûµÄÃüÁî·Ö³É¼¸ÐÐÀ´´ò£¬ÍêºóÓ÷ֺÅ×÷½áÊø±êÖ¾¾ÍOK¡£   
2¡¢Äã¿ÉÒÔʹÓùâ±êÉÏϼüµ÷³öÒÔǰµÄÃüÁî¡£µ«ÒÔǰÎÒÓùýµÄÒ»¸öMYSQL¾É°æ±¾²»Ö§³Ö¡£ÎÒÏÖÔÚÓõÄÊÇmysql-3.23.27-beta-win¡£   

¶þ¡¢ÏÔʾÃüÁî   
1¡¢ÏÔʾÊý¾Ý¿âÁÐ±í¡£   
show databases;   
¸Õ¿ªÊ¼Ê±²ÅÁ½¸öÊý¾Ý¿â£ºmysqlºÍtest¡£mysql¿âºÜÖØÒªËüÀïÃæÓÐMYSQLµÄϵͳÐÅÏ¢£¬ÎÒÃǸÄÃÜÂëºÍÐÂÔöÓû§£¬Êµ¼ÊÉϾÍÊÇÓÃÕâ¸ö¿â½øÐвÙ×÷¡£   
2¡¢ÏÔʾ¿âÖеÄÊý¾Ý±í£º   
use mysql£» £¯£¯´ò¿ª¿â£¬Ñ§¹ýFOXBASEµÄÒ»¶¨²»»áİÉú°É   
show tables;   
3¡¢ÏÔʾÊý¾Ý±íµÄ½á¹¹£º   
describe ±íÃû;   
4¡¢½¨¿â£º   
create database ¿âÃû;   
5¡¢½¨±í£º   
use ¿âÃû£»   
create table ±íÃû (×Ö¶ÎÉ趨Áбí)£»   
6¡¢É¾¿âºÍɾ±í:   
drop database ¿âÃû;   
drop table ±íÃû£»   
7¡¢½«±íÖмǼÇå¿Õ£º   
delete from ±íÃû;   
8¡¢ÏÔʾ±íÖеļǼ£º   
select * from ±íÃû;   

Èý¡¢Ò»¸ö½¨¿âºÍ½¨±íÒÔ¼°²åÈëÊý¾ÝµÄʵÀý   
drop database if exists school; //Èç¹û´æÔÚSCHOOLÔòɾ³ý   
create database school; //½¨Á¢¿âSCHOOL   
use school; //´ò¿ª¿âSCHOOL   
create table teacher //½¨Á¢±íTEACHER   
(   
id int(3) auto_increment not null primary key,   
name char(10) not null,   
address varchar(50) default 'ÉîÛÚ',   
year date   
); //½¨±í½áÊø   
//ÒÔÏÂΪ²åÈë×ֶΠ  
insert into teacher values('','glchengang','ÉîÛÚÒ»ÖÐ','1976-10-10');   
insert into teacher values('','jack','ÉîÛÚÒ»ÖÐ','1975-12-23');   

×¢£ºÔÚ½¨±íÖУ¨1£©½«IDÉèΪ³¤¶ÈΪ3µÄÊý×Ö×Ö¶Î:int(3)²¢ÈÃËüÿ¸ö¼Ç¼×Ô¶¯¼ÓÒ»:auto_increment²¢²»ÄÜΪ¿Õ:not null¶øÇÒÈÃËû³ÉΪÖ÷×Ö¶Îprimary key£¨2£©½«NAMEÉèΪ³¤¶ÈΪ10µÄ×Ö·û×ֶΣ¨3£©½«ADDRESSÉèΪ³¤¶È50µÄ×Ö·û×ֶΣ¬¶øÇÒȱʡֵΪÉîÛÚ¡£varcharºÍcharÓÐÊ²Ã´Çø±ðÄØ£¬Ö»ÓеÈÒÔºóµÄÎÄÕÂÔÙ˵ÁË¡£ £¨4£©½«YEARÉèΪÈÕÆÚ×ֶΡ£   
Èç¹ûÄãÔÚmysqlÌáʾ·û¼üÈëÉÏÃæµÄÃüÁîÒ²¿ÉÒÔ£¬µ«²»·½±ãµ÷ÊÔ¡£Äã¿ÉÒÔ½«ÒÔÉÏÃüÁîÔ­ÑùдÈëÒ»¸öÎı¾ÎļþÖмÙÉèΪschool.sql£¬È»ºó¸´ÖƵ½c:\Ï£¬²¢ÔÚDOS״̬½øÈëĿ¼\mysql\bin£¬È»ºó¼üÈëÒÔÏÂÃüÁ   
mysql -uroot -pÃÜÂë < c:\school.sql  
Èç¹û³É¹¦£¬¿Õ³öÒ»ÐÐÎÞÈκÎÏÔʾ£»ÈçÓдíÎ󣬻áÓÐÌáʾ¡££¨ÒÔÉÏÃüÁîÒѾ­µ÷ÊÔ£¬ÄãÖ»Òª½«//µÄ×¢ÊÍÈ¥µô¼´¿ÉʹÓã©¡£  

ËÄ¡¢½«Îı¾Êý¾Ýתµ½Êý¾Ý¿âÖР 
1¡¢Îı¾Êý¾ÝÓ¦·ûºÏµÄ¸ñʽ£º×Ö¶ÎÊý¾ÝÖ®¼äÓÃtab¼ü¸ô¿ª£¬nullÖµÓÃ\nÀ´´úÌæ.  
Àý£º  
3 rose ÉîÛÚ¶þÖÐ 1976-10-10  
4 mike ÉîÛÚÒ»ÖÐ 1975-12-23  
2¡¢Êý¾Ý´«ÈëÃüÁî load data local infile "ÎļþÃû" into table ±íÃû;  
×¢Ò⣺Äã×îºÃ½«Îļþ¸´ÖƵ½\mysql\binĿ¼Ï£¬²¢ÇÒÒªÏÈÓÃuseÃüÁî´ò±íËùÔڵĿ⠡£  

Îå¡¢±¸·ÝÊý¾Ý¿â£º£¨ÃüÁîÔÚDOSµÄ\mysql\binĿ¼ÏÂÖ´ÐУ©  
mysqldump --opt school>school.bbb   
×¢ÊÍ:½«Êý¾Ý¿âschool±¸·Ýµ½school.bbbÎļþ£¬school.bbbÊÇÒ»¸öÎı¾Îļþ£¬ÎļþÃûÈÎÈ¡£¬´ò¿ª¿´¿´Äã»áÓÐз¢ÏÖ¡£   

ºó¼Ç£ºÆäʵMYSQLµÄ¶ÔÊý¾Ý¿âµÄ²Ù×÷ÓëÆäËüµÄSQLÀàÊý¾Ý¿â´óͬСÒ죬Äú×îºÃÕÒ±¾½«SQLµÄÊé¿´¿´¡£ÎÒÔÚÕâÀïÖ»½éÉÜһЩ»ù±¾µÄ£¬ÆäʵÎÒÒ²¾ÍÖ»¶®ÕâЩÁË£¬ºÇºÇ¡£×îºÃµÄMYSQL½Ì³Ì»¹ÊÇ¡°êÌ×Ó¡°ÒëµÄ¡°MYSQLÖÐÎIJο¼Êֲᡰ²»½öÃâ·Ñÿ¸öÏà¹ØÍøÕ¾¶¼ÓÐÏÂÔØ£¬¶øÇÒËüÊÇ×îȨÍþµÄ¡£¿Éϧ²»ÊÇÏó"PHP4ÖÐÎÄÊÖ²á"ÄÇÑùÊÇchmµÄ¸ñʽ£¬ÔÚ²éÕÒº¯ÊýÃüÁîµÄʱºò²»Ì«·½±ã¡£  

MySQLÓÅ»¯¼òÃ÷Ö¸ÄÏ

×÷ÕߣºêÌ×Ó

Ò»¡¢ÔÚ±àÒëʱÓÅ»¯MySQL  
Èç¹ûÄã´ÓÔ´´úÂë·Ö·¢°²×°MySQL£¬Òª×¢Ò⣬±àÒë¹ý³Ì¶ÔÒÔºóµÄÄ¿±ê³ÌÐòÐÔÄÜÓÐÖØÒªµÄÓ°Ï죬²»Í¬µÄ±àÒ뷽ʽ¿ÉÄܵõ½ÀàËÆµÄÄ¿±êÎļþ£¬µ«ÐÔÄÜ¿ÉÄÜÏà²îºÜ´ó£¬Òò´Ë£¬ÔÚ±àÒë°²×°MySQLÊÊÓ¦×Ðϸ¸ù¾ÝÄãµÄÓ¦ÓÃÀàÐÍÑ¡Ôñ×î¿ÉÄܺõıàÒëÑ¡Ïî¡£ÕâÖÖ¶¨ÖƵÄMySQL¿ÉÒÔΪÄãµÄÓ¦ÓÃÌṩ×î¼ÑÐÔÄÜ¡£

¼¼ÇÉ£ºÑ¡ÓýϺõıàÒëÆ÷ºÍ½ÏºÃµÄ±àÒëÆ÷Ñ¡ÏÕâÑùÓ¦ÓÿÉÌá¸ßÐÔÄÜ10-30%¡££¨MySQLÎĵµÈçÊÇ˵£©

1.1¡¢Ê¹ÓÃpgcc£¨Pentium GCC)±àÒëÆ÷  
¸Ã±àÒëÆ÷£¨http://www.goof.com/pcg/£©Õë¶ÔÔËÐÐÔÚ±¼ÌÚ´¦ÀíÆ÷ϵͳÉϵijÌÐò½øÐÐÓÅ»¯£¬ÓÃpgcc±àÒëMySQLÔ´´úÂ룬×ÜÌåÐÔÄÜ¿ÉÌá¸ß10%¡£µ±È»Èç¹ûÄãµÄ·þÎñÆ÷²»ÊÇÓñ¼ÌÚ´¦ÀíÆ÷£¬¾Í²»±ØÓÃËüÁË£¬ÒòΪËüÊÇרΪ±¼ÌÚϵͳÉè¼ÆµÄ¡£

1.2¡¢½öʹÓÃÄãÏëʹÓõÄ×Ö·û¼¯±àÒëMySQL  
MySQLĿǰÌṩ¶à´ï24ÖÖ²»Í¬µÄ×Ö·û¼¯£¬ÎªÈ«ÇòÓû§ÒÔËûÃÇ×Ô¼ºµÄÓïÑÔ²åÈë»ò²é¿´±íÖеÄÊý¾Ý¡£È´Ê¡Çé¿öÏ£¬MySQL°²×°ËùÓÐÕßÕâЩ×Ö·û¼¯£¬ÈÈÈ»¶ø£¬×îºÃµÄÑ¡ÔñÊÇָѡÔñÒ»ÖÖÄãÐèÒªµÄ¡£È磬½ûÖ¹³ýLatin1×Ö·û¼¯ÒÔÍâµÄËùÓÐÆäËü×Ö·û¼¯£º


--------------------------------------------------------------------------------
%>./configure -with-extra-charsets=none [--other-configuration-options]  
--------------------------------------------------------------------------------

1.3¡¢½«mysqld±àÒë³É¾²Ì¬Ö´ÐÐÎļþ  
½«mysqld±àÒë³É¾²Ì¬Ö´ÐÐÎļþ¶øÎÞÐè¹²Ïí¿âÒ²ÄÜ»ñµÃ¸üºÃµÄÐÔÄÜ¡£Í¨¹ýÔÚÅäÖÃʱָ¶¨ÏÂÁÐÑ¡Ï¿É¾²Ì¬±àÒëmysqld¡£


--------------------------------------------------------------------------------
%>./configure -with-mysqld-ldflags=-all-static [--other-configuration-options]  
--------------------------------------------------------------------------------

1.4¡¢ÅäÖÃÑù±¾  
ÏÂÁÐÅäÖÃÃüÁî³£ÓÃÓÚÌá¸ßÐÔÄÜ£º


--------------------------------------------------------------------------------
%>CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared  
--------------------------------------------------------------------------------

¶þ¡¢µ÷Õû·þÎñÆ÷  
È·±£ÔËÓÃÕýÈ·µÄ±àÒë¹ÌÈ»ÖØÒª£¬µ«ÕâÖ»Êdzɹ¦µÄµÚÒ»²½£¬ÅäÖÃÖÚ¶àµÄMySQL±äÁ¿Í¬Ñù¶Ô·þÎñÆ÷µÄÕý³£ÔËÐÐÆð¹Ø¼ü×÷Óá£Äã¿ÉÒÔ½«ÕâЩ±äÁ¿µÄ¸³Öµ´æÔÚÒ»¸öÅäÖÃÎļþÖУ¬ÒÔÈ·±£ËüÃÇÔÚÿ´ÎÆô¶¯MySQLʱ¾ùÆð×÷Óã¬Õâ¸öÅäÖÃÎļþ¾ÍÊÇmy.cnfÎļþ¡£

MySQLÒѾ­ÌṩÁ˼¸¸ömy.cnfÎļþµÄÑù±¾£¬¿ÉÔÚ/usr/local/mysqld/share/mysql/Ŀ¼ÏÂÕÒµ½¡£ÕâЩÎļþ·Ö±ðÃüÃûΪmy-small.cnf¡¢ my-medium.cnf¡¢my-large.cnfºÍmy-huge.cnf£¬¹æÄ£ËµÃ÷¿ÉÔÚÃèÊöÅäÖÃÎļþÊÊÓõÄϵͳÀàÐͱêÌâÖÐÕÒµ½¡£Èç¹ûÔÚÖ»ÓÐÏ൱ÉÙÄÚ´æµÄϵͳÉÏÔËÐÐMySQL£¬¶øÇÒÖ»ÊÇż¶ûµÄÓÃһϣ¬ÄÇômy-small.cnf»á±È½ÏÀíÏ룬ÒòΪËüÃüÁîmysqldֻʹÓÃ×îÉÙµÄ×ÊÔ´¡£ÀàËÆµØ£¬Èç¹ûÄã¼Æ»®¹¹½¨µç×ÓÉÌÎñ³¬ÊУ¬¶øÇÒϵͳӵÓÐ2GÄڴ棬ÄÇôÄã¿ÉÄÜÒªÓõ½mysql-huge.cnfÎļþÁË¡£

ΪÁËÀûÓÃÕâЩÎļþÖеÄÒ»¸ö£¬ÄãÐèÒª¸´ÖÆÒ»¸ö×îÊʺÏÐèÇóµÄÎļþ£¬¸ÄÃûΪmy.cnf¡£Äã¿ÉÒÔÑ¡ÔñʹÓÃÅäÖÃÎļþÈýÖÖ×÷Ó÷¶Î§µÄÒ»ÖÖ£º

Global£º½«my.cnfÎļþ¸´ÖƵ½·þÎñÆ÷µÄ/etcĿ¼Ï£¬ÕâʹµÃÅäÖÃÎļþÖеıäÁ¿×÷ÓÃÓÚÈ«¾Ö£¬¼´¶ÔËùÓзþÎñÆ÷ÉϵÄMySQLÊý¾Ý¿â·þÎñÆ÷ÓÐЧ¡£  
Local£º½«my.cnfÎļþ¸´ÖƵ½[MYSQL-INSTALL-DIR]/var/Ŀ¼Ï£¬Ê¹µÃmy.cnf×÷ÓÃÓÚÌØ¶¨µÄ·þÎñÆ÷¡£[MYSQL-INSTALL-DIR]±íʾMySQL°²×°Ä¿Â¼¡£  
User£ºÄã¿ÉÒÔÔÙÏÞÖÆ×÷ÓÃÓÚÌØ¶¨µÄÓû§£¬½«my.cnf¸´ÖƵ½Óû§µÄ¸ùĿ¼Ï¡£  
¾¿¾¹ÈçºÎÉèÖÃmy.cnfÖеÄÕâЩ±äÁ¿ÄØ£¿¸ü½øÒ»²½Ëµ£¬Äã¿ÉÒÔÉèÖÃÄÄÒ»¸ö±äÁ¿¡£ËäÈ»ËùÓñäÁ¿¶ÔMySQL·þÎñÆ÷Ïà¶ÔͨÓã¬Ã¿Ò»¸ö±äÁ¿ÓëMySQLµÄµÄijЩ×é¼þÓиüÌØ¶¨µÄ¹ØÏµ¡£Èç±äÁ¿max_connects¹éÔÚmysqldÀà±ðÏ¡£Ö´ÐÐÏÂÁÐÃüÁî¼´¿ÉÖªµÀ£º


--------------------------------------------------------------------------------
%>/usr/local/mysql/libexec/mysqld --help  
--------------------------------------------------------------------------------

ËüÏÔʾ´óÁ¿µÄÑ¡Ïî¼°ÓëmysqldÏà¹ØµÄ±äÁ¿¡£Äã¿ÉÒÔºÜÈÝÒ×µØÔÚ¸ÃÐÐÎÄ×ÖÖ®ÏÂÕÒ³ö±äÁ¿£º


--------------------------------------------------------------------------------
Possible variables for option --set-variable (-O) are  
--------------------------------------------------------------------------------

È»ºóÄã¿ÉÒÔÈçÏÂÉèÖÃmy.cnfÖеÄÄÇЩ±äÁ¿£º  

--------------------------------------------------------------------------------
set-variable = max_connections=100  
--------------------------------------------------------------------------------

ËüÉèÖÃMySQL·þÎñÆ÷µÄ×î´ó²¢·¢Á¬½ÓÊýΪ100¡£ÒªÈ·±£ÔÚmy.cnfÎļþÖеÄ[mysqld]±êÌâϲåÈë±äÁ¿ÉèÖᣠ 
Èý¡¢±íÀàÐÍ

ºÜ¶àMySQLÓû§¿ÉÄܾܺªÑÈ£¬MySQLȷʵΪÓû§Ìṩ5ÖÖ²»Í¬µÄ±íÀàÐÍ£¬³ÆÎªDBD¡¢HEAP¡¢ISAM¡¢MERGEºÍMyIASM¡£DBD¹éΪÊÂÎñ°²È«À࣬¶øÆäËûΪ·ÇÊÂÎñ°²È«Àà¡£

3.1¡¢ÊÂÎñ°²È«

DBD  
Berkeley DB(DBD)±íÊÇÖ§³ÖÊÂÎñ´¦ÀíµÄ±í£¬ÓÉSleepycatÈí¼þ¹«Ë¾(http://www.sleepycat.com)¿ª·¢¡£ËüÌṩMySQLÓû§ÆÚ´ýÒѾõŦÄÜ-ÊÂÎñ¿ØÖÆ¡£ÊÂÎñ¿ØÖÆÔÚÈκÎÊý¾Ý¿âϵͳÖж¼ÊÇÒ»¸ö¼«ÓмÛÖµµÄ¹¦ÄÜ£¬ÒòΪËüÃÇÈ·±£Ò»×éÃüÁîÄܳɹ¦µØÖ´ÐС£

3.2¡¢·ÇÊÂÎñ°²È«

HEAP  

HEAP±íÊÇMySQLÖдæÈ¡Êý¾Ý×î¿ìµÄ±í¡£ÕâÊÇÒòΪËûÃÇʹÓô洢ÔÚ¶¯Ì¬ÄÚ´æÖеÄÒ»¸ö¹þÏ£Ë÷Òý¡£ÁíÒ»¸öÒªµãÊÇÈç¹ûMySQL»ò·þÎñÆ÷±ÀÀ££¬Êý¾Ý½«¶ªÊ§¡£  

ISAM  

ISAM±íÊÇÔçÆÚMySQL°æ±¾µÄȱʡ±íÀàÐÍ£¬Ö±µ½MyIASM¿ª·¢³öÀ´¡£½¨Òé²»ÒªÔÙʹÓÃËü¡£  

MERGE  

MERGEÊÇÒ»¸öÓÐȤµÄÐÂÀàÐÍ£¬ÔÚ3.23.25Ö®ºó³öÏÖ¡£Ò»¸öMERGE±íʵ¼ÊÉÏÊÇÒ»¸öÏàͬMyISAM±íµÄ¼¯ºÏ£¬ºÏ²¢³ÉÒ»¸ö±í£¬Ö÷ÒªÊÇΪÁËЧÂÊÔ­Òò¡£ÕâÑù¿ÉÒÔÌá¸ßËÙ¶È¡¢ËÑË÷ЧÂÊ¡¢ÐÞ¸´Ð§Âʲ¢½ÚÊ¡´ÅÅ̿ռ䡣  

MyIASM  

ÕâÊÇMySQLµÄȱʡ±íÀàÐÍ¡£Ëü»ùÓÚIASM´úÂ룬µ«ÓкܶàÓÐÓõÄÀ©Õ¹¡£MyIASM±È½ÏºÃµÄÔ­Òò£º  

MyIASM±íСÓÚIASM±í£¬ËùÒÔʹÓýÏÉÙ×ÊÔ´¡£  
MyIASM±íÔÚ²»Í¬µÄƽ̨É϶þ½øÖƲã¿ÉÒÆÖ²¡£  
¸ü´óµÄ¼üÂë³ß´ç£¬¸ü´óµÄ¼üÂëÉÏÏÞ¡£  
3.3¡¢Ö¸¶¨±íÀàÐÍ

Äã¿ÉÔÚ´´½¨±íʱָ¶¨±íµÄÀàÐÍ¡£ÏÂÀý´´½¨Ò»¸öHEAP±í£º


--------------------------------------------------------------------------------

mysql>CREATE TABLE email_addresses TYPE=HEAP (
    ->email char(55) NOT NULL,
    ->name char(30) NOT NULL,
    ->PRIMARY KEY(email) );


--------------------------------------------------------------------------------

BDB±íÐèҪһЩÅäÖù¤×÷£¬²Î¼ûhttp://www.mysql.com/doc/B/D/BDB_overview.html¡£  

3.4¡¢¸ü¶àµÄ±íÀàÐÍ  

ΪÁËʹMySQL¹ÜÀí¹¤×÷¸üÓÐȤ£¬¼´½«·¢²¼µÄMySQL 4.0½«ÌṩÁ½ÖÖеıíÀàÐÍ£¬³ÆÎªInnobaseºÍGemeni¡£  

4¡¢ÓÅ»¯¹¤¾ß  

MySQL·þÎñÆ÷±¾ÉíÌṩÁ˼¸ÌõÄÚÖÃÃüÁîÓÃÓÚ°ïÖúÓÅ»¯¡£  

4.1¡¢SHOW  

Äã¿ÉÄÜÓÐÐËȤ֪µÀMySQL·þÎñÆ÷¾¿¾¹¸üÁËʲô£¬ÏÂÁÐÃüÁî¸ø³öÒ»¸ö×ܽ᣺  


--------------------------------------------------------------------------------
mysql>show status;  
--------------------------------------------------------------------------------

Ëü¸ø³öÁËÒ»¸öÏ൱³¤µÄ״̬±äÁ¿¼°ÆäÖµµÄÁÐ±í¡£ÓÐЩ±äÁ¿°üº¬ÁËÒì³£ÖÕÖ¹¿Í»§µÄÊýÁ¿¡¢Òì³£ÖÕÖ¹Á¬½ÓµÄÊýÁ¿¡¢Á¬½Ó³¢ÊԵĴÎÊý¡¢×î´ó²¢·¢Á¬½ÓÊýºÍ´óÁ¿ÆäËûÓÐÓõÄÐÅÏ¢¡£ÕâЩÐÅÏ¢¶ÔÕÒ³öϵͳÎÊÌâºÍµÍЧ¼«¾ß¼ÛÖµ¡£  
SHOW»¹ÄÜ×ö¸ü¶àµÄÊÂÇé¡£Ëü¿ÉÒÔÏÔʾ¹ØÓÚÈÕÖ¾Îļþ¡¢Ìض¨Êý¾Ý¿â¡¢±í¡¢Ë÷Òý¡¢½ø³ÌºÍȨÏÞ±íÖÐÓмÛÖµµÄÐÅÏ¢¡£Ïê¼ûMySQLÊֲᡣ

4.2¡¢EXPLAIN

µ±ÄãÃæ¶ÔSELECTÓï¾äʱ£¬EXPLAIN½âÊÍSELECTÃüÁîÈçºÎ±»´¦Àí¡£Õâ²»½ö¶Ô¾ö¶¨ÊÇ·ñÓ¦¸ÃÔö¼ÓÒ»¸öË÷Òý£¬¶øÇÒ¶Ô¾ö¶¨Ò»¸ö¸´ÔÓµÄJoinÈçºÎ±»MySQL´¦Àí¶¼ÊÇÓаïÖúµÄ¡£

4.3¡¢OPTIMIZE

OPTIMIZEÓï¾äÔÊÐíÄã»Ö¸´¿Õ¼äºÍºÏ²¢Êý¾ÝÎļþË鯬£¬¶Ô°üº¬±ä³¤ÐÐµÄ±í½øÐÐÁË´óÁ¿¸üкÍɾ³ýºó£¬ÕâÑù×öÌØ±ðÖØÒª¡£OPTIMIZEĿǰֻ¹¤×÷ÓÚMyIASMºÍBDB±í¡£  
  

 

MySQLÊý¾ÝĿ¼½á¹¹

×÷Õߣºfanqiang.com

´Ó¸ÅÄîÉϽ²£¬´ó¶àÊý¹ØÏµÊý¾Ý¿âϵͳÊÇÏàËÆµÄ£ºËüÃÇÓÐһϵÁÐÊý¾Ý¿â×é³É£¬Ã¿¸öÊý¾Ý¿â°üº¬Ò»ÏµÁÐÊý¾Ý¿â±í£¬µ«Ã¿¸öϵͳÓи÷×Ô×éÖ¯Æä¹ÜÀíµÄÊý¾Ý·½Ê½£¬MySQLÒ²²»ÀýÍâ¡£   

ȱʡµØ£¬ËùÓÐÓÉMySQL·þÎñÆ÷mysqld¹ÜÀíµÄÊý¾Ý´æ´¢ÔÚÒ»¸ö³ÆÎªMySQLÊý¾ÝĿ¼µÄµØ·½£¬ËùÓÐÊý¾Ý¿â¶¼´æ·ÅÔÚÄĶù£¬Ò²°üÀ¨Ìṩ·þÎñÆ÷²Ù×÷ÐÅÏ¢µÄ״̬Îļþ¡£Èç¹ûÄã¶ÔÒ»¸öMySQl°²×°Ö´ÐйÜÀíÈÎÎñ£¬ÄãÓ¦¸ÃÊìÖªÊý¾ÝĿ¼µÄ²¼¾Ö¼°ÓÃ;¡£   

±¾ÎĽéÉÜÏÂÁÐרÌ⣺   

ÈçºÎÈ·¶¨Êý¾ÝĿ¼µÄλÖᣠ  
·þÎñÆ÷ÈçºÎ×éÖ¯²¢Ìṩ¶ÔÊý¾Ý¿âºÍËü¹ÜÀíµÄ±íµÄ·ÃÎÊ¡£   
ÔÚÄÄÀïÕÒµ½ÓÉ·þÎñÆ÷Éú³ÉµÄ״̬Îļþ¼ÇÒäËüÃǰüº¬Ê²Ã´ÄÚÈÝ¡£   
ÈçºÎ¸Ä±äȱʡµØµã»òÊý¾ÝĿ¼»òµ¥¶ÀÊý¾Ý¿âµÄ×éÖ¯½á¹¹¡£   
1¡¢Êý¾ÝĿ¼µÄλÖà  
Ò»¸öȱʡÊý¾ÝĿ¼±»±àÒë½øÁË·þÎñÆ÷£¬Èç¹ûÄã´ÓÒ»¸öÔ´´úÂë·Ö·¢°²×°MySQL£¬µäÐ͵ÄȱʡĿ¼Ϊ/usr/local/var£¬Èç¹û´ÓRPMÎļþ°²×°ÔòΪ/var/lib/mysql£¬Èç¹û´ÓÒ»¸ö¶þ½øÖÆ·Ö·¢°²×°ÔòÊÇ/usr/local/mysql/data¡£   

ÔÚÄãÆô¶¯·þÎñÆ÷£¬Í¨¹ýʹÓÃÒ»¸ö--datadir=/path/to/dirÑ¡Ïî¿ÉÒÔÃ÷È·Ö¸¶¨Êý¾ÝĿ¼λÖá£Èç¹ûÄãÏë°ÑÊý¾ÝĿ¼ÖÃÓÚÆäËüȱʡλÖÃÍâµÄij´¦£¬ÕâºÜÓÐÓᣠ  

×÷ΪһÃûMySQL¹ÜÀíÔ±£¬ÄãÓ¦¸ÃÖªµÀÄãµÄÊý¾ÝĿ¼ÔÚÄÄÀï¡£Èç¹ûÄãÔËÐжà¸ö·þÎñÆ÷£¬ÄãÓ¦¸ÃÊǵ½ËùÓÐÊý¾ÝĿ¼ÔÚÄÄÀµ«ÊÇÈç¹ûÄã²»ÖªµÀÈ·ÇеÄλÖã¬ÓɶàÖÖ·½·¨ÕÒµ½Ëü£º   

ʹÓÃmysqladmin variables´ÓÄãµÄ·þÎñÆ÷Ö±½Ó»ñµÃÊý¾ÝĿ¼·¾¶Ãû¡£²éÕÒdatadir±äÁ¿µÄÖµ£¬ÔÚUnixÉÏ£¬ÆäÊä³öÀàËÆÓÚ£º   
%mysqladmin variables   

+----------------------+----------------------+   
| variable_name | Value |   
+----------------------+----------------------+   
| back_log | 5 |   
| connect_timeout | 5 |   
| basedir | /var/local/ |   
| datadir | /usr/local/var/ |   
....   
ÔÚWindowsÉÏ£¬Êä³ö¿ÉÄÜ¿´ÉÏÈ¥ÏñÕâÑù£º   
c:\mysqladmin variables   

+----------------------+----------------------+   
| variable_name | Value |   
+----------------------+----------------------+   
| back_log | 5 |   
| connect_timeout | 5 |   
| basedir | c:\mysql\ |   
| datadir | c:\mysql\data\ |   
....   
Èç¹ûÄãÓжà¸ö·þÎñÆ÷ÔÚÔËÐУ¬ËüÃǽ«ÔÚ²»Í¬µÄTCP/IP¶Ë¿Ú»òÌ×½Ó×ÖÉϼàÌý£¬Í¨¹ýÌṩÁ¬½Ó·þÎñÆ÷ÕýÔÚ¼àÌýµÄ¶Ë¿Ú»òÌ×½Ó×ÖµÄ--port»ò--socketÑ¡ÏÄã¿ÉÒÔÂÖÁ÷»ñµÃËüÃÇÿһ¸öµÄÊý¾ÝĿ¼ÐÅÏ¢£º   

%msqladmin --port=port_name variables   

%mysqladmin --socket=/path/to/socket variables   

mysqladminÃüÁî¿ÉÔËÐÐÔÚÈκÎÄãÄÜ´ÓÆäÁ¬½Ó·þÎñÆ÷µÄÖ÷»úÉÏ£¬Èç¹ûÄãÏëÔÚÒ»¸öÔ¶³ÌÖ÷»úÁ¬½Ó·þÎñÆ÷£¬Ê¹ÓÃÒ»¸ö--host=host_nameÑ¡Ï   

%mysqladmin --host=host_name variables   

ÔÚWindowsÉÏ£¬Äã¿ÉÒÔͨ¹ýʹÓÃ--pipeÇ¿ÖÆÒ»¸öÃüÁî¹ÜµÀÁ¬½ÓºÍ--socket=pipe_nameÖ¸¶¨¹ÜµÀÃûÀ´Á¬½Ó¼àÌýÒ»¸öÃüÁî¹ÜµÀµÄNT·þÎñÆ÷£º   

c:\mysqladmin --pipe --socket=pipe_name variables   

Äã¿ÉÒÔʹÓÃpsÃüÁî²é¿´ÈκÎÕýÔÚÔËÐÐmysqld ½ø³ÌµÄÃüÁîÐС£   
ÊÔÒ»ÏÂÏÂÁÐÃüÁîÖ®Ò»²¢Ñ°ÕÒ--datadir£º   

%ps axww | grep mysql BSD·ç¸ñ   

%ps -ef | grep mysqld System V·ç¸ñ   

Èç¹ûÄãµÄϵͳÔËÐжà¸ö·þÎñÆ÷£¬psÃüÁî¿ÉÄÜÌØ±ðÓÐÓã¬ÒòΪÄãÄÜÂíÉÏ·¢ÏÖ¶à¸öÊý¾ÝĿ¼λÖã¬È±µãÊDZØÐëÔÚ·þÎñÆ÷ÉÏÔËÐУ¬¶øÇÒ¿ÉÄÜûÓÐÓÐÓõÄÐÅÏ¢²úÉú£¬³ý·ÇÔÚmysqldÃüÁîÐÐÉÏÃ÷È·Ö¸¶¨ÁË--datadirÑ¡Ïî¡£   

Èç¹ûMySQLÊÇ´ÓÒ»¸öÔ´´úÂë·Ö·¢°²×°µÄ£¬Äã¿ÉÒÔ¼ì²éÆäÅäÖÃÐÅϢȷ¶¨Êý¾ÝĿ¼λÖá£ÀýÈ磬λÖÿɴӶ¥¼¶MakefileÖлñµÃ£¬µ«ÊÇ×¢Ò⣬λÖÃÊÇMakefileÖеÄlocalstatedirÖµ£¬²»ÊÇdatadir£¬¶øÇÒ£¬Èç¹û·Ö·¢Î»ÓÚÒ»¸öNFS¹ÒÔØµÄÎļþϵͳ²¢ÓÃÀ´Îª¶à¸öÖ÷»ú¹¹½¨MySQL£¬ÅäÖÃÐÅÏ¢·´Ó³ÁË·Ö·¢±»×îй¹½¨µÄÖ÷»ú£¬Õâ¿ÉÄܲ»ÄÜÌṩÄã¸ÐÐËȤµÄÖ÷»úµÄÊý¾ÝĿ¼ÐÅÏ¢¡£   
Èç¹ûÉÏÊö·½Ê½Ê§°Ü£¬Äã¿ÉÒÔÓÃfindѰÕÒÊý¾Ý¿âÎļþ£¬ÏÂÁÐÃüÁîѰÕÒ¡°.frm¡±Îļþ£¬ËüÊÇÈκÎMySQL°²×°µÄÒ»²¿·Ö£º   

% find / -name ".frm" -print   

ÔÚÏÂÎĸ÷ÀýÖУ¬ÓÃDATADIR±íʾMySQLÊý¾ÝĿ¼λÖᣠ  
2¡¢Êý¾ÝĿ¼½á¹¹   
MySQLÊý¾ÝĿ¼°üº¬ÁË·þÎñÆ÷¹ÜÀíµÄËùÓÐÊý¾ÝĿ¼£¬ÕâЩÎļþ±»×éÖ¯³ÉÒ»¸öÊ÷×´½á¹¹£¬Í¨¹ýÀûÓÃUnix»òWindowsÎļþϵͳµÄ²ã´Î½á¹¹Ö±½ÓʵÏÖ¡£   

ÿ¸öÊý¾Ý¿â¶ÔÓ¦ÓÚÊý¾ÝĿ¼ÏµÄÒ»¸öĿ¼¡£   
ÔÚÒ»¸öÊý¾Ý¿âÖеıí¶ÔÓ¦ÓÚÊý¾ÝĿ¼ÏµÄÎļþ¡£   
Êý¾ÝĿ¼Ҳ°üº¬ÓÉ·þÎñÆ÷²úÉúµÄ¼¸¸ö״̬Îļþ£¬ÈçÈÕÖ¾Îļþ¡£ÕâЩÎļþÌṩÁ˹ØÓÚ·þÎñÆ÷²Ù×÷µÄÖØÒªÐÅÏ¢¡£¶Ô¹ÜÀíÌØ±ðÔÚ³öÁËÎÊÌâ¶øÊÔͼȷ¶¨ÎÊÌâÔ­ÒòʱºÜÓмÛÖµ¡£ÀýÈ磬Èç¹ûij¸öÌØ¶¨²éѯɱËÀ·þÎñÆ÷£¬Äã¿ÉÒÔͨ¹ý¼ì²éÈÕÖ¾ÎļþÅбðµ·ÂҵIJéѯ¡£   

2.1 MySQL·þÎñÆ÷ÔõÑùÌṩ¶ÔÊý¾ÝµÄ·ÃÎÊ   
ÔÚÊý¾ÝĿ¼ÏµÄÒ»ÇÐÓÉÒ»¸öµ¥¶ÀµÄʵÌå-MySQL·þÎñÆ÷mysqld¹ÜÀí£¬¿Í»§³ÌÐò¾ø²»Ö±½Ó²Ù×÷Êý¾Ý¡£Ïà·´£¬·þÎñÆ÷ÌṩÊý¾Ý¿É·ÃÎʵÄÇÐÈëµã£¬ËüÊǿͻ§³ÌÐòÓëËüÃÇÏëʹÓõÄÊý¾ÝÖ®¼äµÄÖн顣   

µ±·þÎñÆ÷Æô¶¯Ê±£¬Èç¹ûÓÐÐèÒª£¬Ëü´ò¿ªÈÕÖ¾Îļþ£¬È»ºóͨ¹ý¼àÌýÍøÂçÁ¬½ÓλÊý¾ÝĿ¼³ÊÏÖÒ»¸öÍøÂç½Ó¿Ú¡£Òª·ÃÎÊÊý¾Ý£¬¿Í»§³ÌÐò½¨Á¢¶Ô·þÎñÆ÷µÄÒ»¸öÁ¬½Ó£¬È»ºóÒÔMySQL²éѯ´«ÊäÇëÇóÀ´Ö´ÐÐÏ£ÍûµÄ²Ù×÷¡£·þÎñÆ÷Ö´ÐÐÿһ¸ö²Ù×÷²¢½«½á¹û·¢»ØÓû§¡£·þÎñÆ÷ÊǶàÏ̵߳IJ¢ÄÜ·þÎñ¶à¸öͬʱµÄ¿Í»§Á¬½Ó¡£È»¶ø£¬ÒòΪÐ޸IJÙ×÷Ò»¸öÖ´ÐÐÒ»¸ö£¬Êµ¼ÊЧ¹ûÊÇ˳Ðò»¯ÇëÇó£¬ÒÔʹÁ½¸ö¿Í»§¾ö²»ÄÜÔÚͬһʱ¿Ì¸Ä±äͬһ¼Ç¼¡£   

ÔÚÕý³£µÄÇé¿öÏ£¬È÷þÎñÆ÷×÷ΪÊý¾Ý¿â·ÃÎʵÄΨһÖÙ²ÃÕßÌṩÁ˱ÜÃâ¿É´Óͬʱ·ÃÎÊÊý¾Ý¿â±íµÄ¶à¸ö½ø³ÌµÄÆÆ»µµÄ±£Ö¤¡£¹ÜÀíÔ±Ó¦¸ÃÖªµÀÓÐʱ·þÎñÆ÷ûÓжÔÊý¾ÝĿ¼µÄ¶À²Ã¿ØÖÆ¡£   

µ±ÄãÔÚÒ»¸öµ¥¸öÊý¾ÝĿ¼ÉÏÔËÐжà¸ö·þÎñÆ÷¡£Ò»°ãÄßÔÆÐÂÒ»¸ö·þÎñÆ÷¹ÜÀíÖ÷»úÉϵÄËùÓÐÊý¾Ý¿â£¬µ«ÊÇÓпÉÄÜÔËÐжà¸ö·þÎñÆ÷¡£Èç¹ûÕâÍê³ÉÌṩ¶Ô¶à¸ö¶ÀÁ¢Êý¾ÝĿ¼µÄ·ÃÎÊ£¬Ã»ÓÐÏ໥ӰÏìµÄÎÊÌ⣬µ«Ó´Ò²ÄÜÆô¶¯¶à¸ö·þÎñÆ÷²¢Ö¸Ïòͬһ¸öĿ¼¡£Ò»°ãµØ£¬Õâ²»ÊÇÒ»¸öºÃÖ÷Òâ¡£Èç¹ûÄãÊÔͼÕâÑù£¬×îºÃÊÇÄãµÄϵͳÌṩÁ¼ºÃµÄÎļþËø¶¨¹¦ÄÜ£¬·ñÔò·þÎñÆ÷½«²»ÄÜÕýȷЭ×÷¡£Èç¹ûÄ㽫¶à¸ö·þÎñÆ÷ͬʱдÈëÈÕÖ¾Îļþ£¬ÄãҲð×ÅÄãµÄÈÕÖ¾Îļþ³ÆÎª»ìÂҵĸùÔ´µÄ·çÏÕ¡£   
ÔÚÄãÔËÐÐisamchkºÍmyisamchkʱ¡£isamchkºÍmyisamchkʵÓóÌÐòÓÃÓÚ±íµÄά»¤¡¢Õï´íºÍÐÞ¸´£¬¾ÍÏëÄãÏëµÄÄÇÑù£¬ÒòΪÕâЩ³ÌÐò¿ÉÒÔÐ޸ıíÄÚÈÝ£¬ÔÊÐíËüÃÇÓë·þÎñÆ÷ÕýÔÚ²Ù×÷µÄͬʱ¶Ô±í²Ù×÷£¬ÕâÑùÄܵ¼Ö±íË𻵡£Àí½âÈçºÎÏÞÖÆÕâÖÖÏ໥ӰÏìÊǺÜÖØÒªµÄ£¬ÕâÑùÄã²»»áËð»µÄãµÄ±í¡£   
2.2 Êý¾ÝÄ¿±íʾ   
ÿ¸öMySQL·þÎñÆ÷¹ÜÀíµÄÊý¾Ý¿âÓÐ×Ô¼ºµÄÊý¾Ý¿â±í£¬ËüÊÇÊý¾ÝĿ¼ÏµÄÒ»¸ö×ÓĿ¼£¬ÆäÃû×ÖÓëËü±íʾµÄÊý¾Ý¿âÏàͬ¡£ÀýÈçÊý¾Ý¿âmy_db¶ÔÓ¦ÓÚÊý¾Ý¿âĿ¼DATADIR/my_db¡£   

ÕâÖÖ±íʾÔÊÐí¶à¸öÊý¾Ý¿â¼¶µÄÓï¾äÔÚÆäʵÏÖÖÐÊ®·Ö¼òµ¥¡£CREATE DATABASE db_nameÔÚÊý¾ÝĿ¼Öд´½¨Ò»¸ödb_name¿ÕĿ¼£¬¾ßÓÐÖ»ÔÊÐíMySQL·þÎñÆ÷Óû§(ÔËÐзþÎñÆ÷µÄUnixÓû§)µÄÊôÖ÷ºÍģʽ£¬ÕâµÈ¼ÛÓÚÏÂÁÐÊÖ¹¤ÔÚ·þÎñÆ÷Ö÷»úÉÏ´´½¨Êý¾Ý¿â£º   

%mkdir DATADIR/db_name   
%chmod 700 DADADIR/db_name   
ÓÃÒ»¸ö¿ÕĿ¼±íʾһ¸öÐÂÊý¾Ý¿âµÄ×î¼òµ¥·½·¨ÓëÆäËüÊý¾Ý¿âÉõÖÁΪһ¸ö¿ÕÊý¾Ý¿â´´½¨´óÁ¿µÄ¿ØÖÆÎļþ»òϵͳÎļþÕýºÃÏà·´¡£   

DROP DATABASEÓï¾äʵÏÖͬÑù¼òµ¥¡£DROP DATABASE db_nameɾ³ýÊý¾Ý¿âÖеÄdb_nameĿ¼ºÍËùÓбíÎļþ£¬Õ⼸ºõÓëÏÂÁÐÃüÁîÒ»Ñù£º   

%rm -rf DATADIR/db_name   
(²î±ðÊÇ·þÎñÆ÷ֻɾ³ý¾ßÓÐÒÑÖªÓÃÓÚ±íµÄºó׺ÃûµÄÎļþ¡£Èç¹ûÄãÔÚÊý¾Ý¿âĿ¼´´½¨ÁËÆäËüÎļþ¡£Ôò·þÎñÆ÷±£ÁôËüÃÇ£¬¶øÇÒĿ¼±¾Éí²»±»É¾³ý¡£   

SHOW DATABASE»ù±¾Éϲ»×öʲô£¬Ö»ÊÇÁгöλÓÚÊý¾ÝĿ¼ÖеÄĿ¼Ãû¡£ÓÐЩÊý¾Ý¿âϵͳ±£³ÖÒ»¸öÖ÷±í£¬ÓÃÓÚά»¤ËùÓÐÊý¾Ý¿â£¬µ«ÔÚMySQLÎ޴˹¹¼þ¡£ÓÉÓÚ¸³ÓèÊý¾ÝĿ¼½á¹¹µÄ¼ò½àÐÔ£¬Êý¾Ý¿âÁбíÒþº¬ÔÚÊý¾ÝĿ¼µÄÄÚÈÝÖУ¬¶øÇÒÕâÑùµÄ±í²»±ØÓжîÍâµÄ¿ªÏú¡£   

2.3 Êý¾Ý¿â±íµÄ±íʾ   
ÿ¸öÊý¾Ý¿âÔÚÊý¾Ý¿âĿ¼ÖÐÓÐ3¸öÎļþ£ºÒ»¸öÑùʽ£¨ÃèÊöÎļþ£©¡¢Ò»¸öÊý¾ÝÎļþºÍÒ»¸öË÷ÒýÎļþ¡£Ã¿¸öÎļþµÄ»ù±¾ÃûÊDZíÃû£¬ÎļþÃûÀ©Õ¹Ãû´ú±íÎļþÀàÐÍ¡£À©Õ¹ÃûÈçÏÂ±í¡£Êý¾ÝºÍË÷ÒýÎļþµÄÀ©Õ¹ÃûÖ¸³ö±íʹÓÃÀÏʽIASMË÷Òý»òÐÂʽMyISAMË÷Òý¡£   

±í MySQLÎļþÀàÐÍ   
ÎļþÀàÐÍ ÎļþÃûÀ©Õ¹Ãû ÎļþÄÚÈÝ   
ÑùʽÎļþ .frm ÃèÊö±íµÄ½á¹¹£¨ËüµÄÁС¢ÁÐÀàÐÍ¡¢Ë÷ÒýµÈ£©¡£   
Êý¾ÝÎļþ .ISD(ISAM)   
»ò.MYD(MyISAM) °üº¬Êý¾ÝÎļþÉϵÄËùÓÐË÷ÒýµÄË÷ÒýÊ÷¡£   
Ë÷ÒýÎļþ .ISM(ISAM)   
»ò.MYI(MyISAM) ¸ÃË÷ÒýÎļþÒÀÀµ±íÊÇ·ñÓÐË÷Òý¶ø´æÔÚ¡£   

µ±Äã·¢³öÒ»ÌõCREATE TABLE tbl_nameʱÓï¾ä¶¨Òå±íµÄ½á¹¹Ê±£¬·þÎñÆ÷´´½¨Ò»¸öÃûΪtbl_name.frmµÄÎļþ£¬Ëü°üÀ¨¸Ã½á¹¹µÄÄÚ²¿±àÂ룬ͬʱҲ´´½¨Ò»¸ö¿ÕÊý¾ÝºÍË÷ÒýÎļþ£¬³õʼ»¯Îª°üº¬Ö¸³öÎ޼ǼºÍÎÞË÷ÒýµÄÐÅÏ¢£¨Èç¹ûCREATE TABLEÓï¾ä°üÀ¨Ë÷ÒýÖ¸¶¨£¬Ë÷ÒýÎļþ·´Ó³³öÕâЩË÷Òý£©¡£¶ÔÓ¦ÓÚ±íµÄÎļþµÄÊôÖ÷ºÍģʽ±»ÉèÖÃΪֻÔÊÐíMySQL·þÎñÆ÷Óû§·ÃÎÊ¡£   

µ±Äã·¢³öÒ»ÌõALTER TABLE tbl_nameÓï¾äʱ£¬·þÎñÆ÷ÖØÐ±àÂëtbl_name.frm£¬²¢ÐÞ¸ÄÊý¾ÝºÍË÷ÒýÎļþµÄÄÚÈÝÒÔ·´Ó³Óï¾äÖ¸¶¨µÄ½á¹¹¸Ä±ä¡£¶ÔÓÚCREATE INDEXºÍDROP INDEXÒ²ÊÇÒ»Ñù£¬ÒòΪËüÃDZ»·þÎñÆ÷ÊÓΪÓëALTER TABLEµÈ¼Û¡£DROP TABLEͨ¹ýɾ³ý¶ÔÓ¦ÓÚ±íµÄÈý¸öÎļþÀ´ÊµÏÖ¡£   

ËäÈ»Äã¿ÉÒÔͨ¹ýɾ³ýÊý¾Ý¿âĿ¼ÖжÔÓ¦ÓÚ±íµÄÈý¸öÎļþ£¬µ«²»ÄÜÊÖ¹¤´´½¨»òÐÞ¸ÄÒ»¸ö±í£¬È磬Èç¹ûmy_dbÊǵ±Ç°Êý¾Ý¿â£¬DROP TABLE my_tbl´ó¸ÅµÈ¼ÛÓÚÏÂÁÐÃüÁî¡£   

% rm -rf DATADIR/my_db/my_tbl.*   

SHOW TABLE my_dbµÄÊä³öÖ»ÊÇÁгömy_dbÊý¾Ý¿âĿ¼ÖеÄ.frmÎļþµÄ»ùÎļþÃû¡£ÓÐЩÊý¾Ý¿âϵͳһ¸ö×¢²á±í£¬ÁоÙËùÓаüº¬ÔÚÒ»¸öÊý¾Ý¿âÖÐµÄ±í£¬MySQL²»ÊÇ£¬ÒòΪ²»±ØÒª£¬¡°×¢²á±í¡±Òþº¬ÔÚÊý¾ÝĿ¼µÄ½á¹¹ÖС£   

2.4 ²Ù×÷ϵͳ¶ÔÊý¾Ý¿âºÍ±íÃüÃûµÄÏÞÖÆ   
MySQL¶ÔÃüÃûÊý¾Ý¿âºÍ±íÓÐÒ»¸öÔ­Ôò£º   

Ãû×Ö¿ÉÒÔÓɵ±Ç°×Ö·û¼¯ÖеÄÈκÎ×ÖĸÊý×Ö×Ö·û×é³É£¬Ï»®ÏߺÍÃÀÔª·û$Ò²¿ÉÒÔ¡£   
Ãû×Ö×Ϊ64¸ö×Ö·û¡£   
È»¶ø£¬ÒòΪÊý¾Ý¿âºÍ±íµÄÃû×Ö¶ÔÓ¦ÓÚĿ¼ºÍÎļþÃû£¬·þÎñÆ÷ÔËÐеIJÙ×÷ϵͳ¿ÉÄÜÇ¿¼Ó¶îÍâµÄÏÞÖÆ¡£   

Ê×ÏÈ£¬Êý¾Ý¿âºÍ±íÃû½öÏÞÓÚ¶ÔÎļþÃûºÏ·¨µÄ×Ö·û£¬Èç$ÔÚMySQLµÄÔ­ÔòÖÐÊÇÔÊÐíµÄ£¬µ«ÊÇÈç¹ûÄãµÄ²Ù×÷ϵͳ²»ÔÊÐí£¬ÔòÄã²»ÄÜÔÚĿ¼»ò±íÃûÖÐʹÓÃËü¡£Êµ¼ÊÉÏ£¬Õâ¶ÔUnix»òWindows²»ÊÇËùµ£Ðĵģ¬×î´óµÄÄѶÈÊÇÔÚÖ´ÐÐÊý¾Ý¿â¹ÜÀíʱֱ½ÓÔÚshellÖÐÒýÓÃÃû×Ö£¬ÀýÈ磬Èç¹ûÄãÃüÃûÒ»¸öÊý¾Ý¿âÈç$my_db£¬°üº¬Ò»¸öÃÀÔª·û£¬ÈκδÓshellÖжԸÃÃû×ÖµÄÒýÓÿÉÄܱ»shell½âÊÍΪ¶ÔÒ»¸ö±äÁ¿µÄÒýÓ㺠  

%ls $my_db   
my_db:undefined variable   

¶Ô´Ë£¬Äã±ØÐëתÒå$×Ö·û»òÓÃÒýºÅ½ûÖ¹ÆäÌØÊ⺬Ò壺   

%ls \$my_db   
%ls $my_db   

Èç¹ûÄãÓÃÒýºÅ£¬Ò»¶¨ÒªÓõ¥ÒýºÅ£¬¶øË«ÒýºÅ²¢²»½ûÖ¹±äÁ¿½âÊÍ¡£   

Æä´Î£¬ËäÈ»MySQLÔÊÐíÊý¾Ý¿âºÍ±íÃû×µ½64¸ö×Ö·û£¬µ«Ãû×ֵij¤¶ÈÊÜÏÞÓÚÄãµÄ²Ù×÷ϵͳÏÞ¶¨µÄ³¤¶È£¬Ò»°ãÕâ²»ÊÇÒ»¸öÎÊÌ⣨ËäÈ»ÀϵÄSystem VÇ¿ÖÆ14¸ö×Ö·û£©¡£ÔÚÕâÖÖÇé¿öÏ£¬ÄãÊý¾Ý¿âÃûµÄÉÏÏÞΪ14¸ö×Ö·û£¬¶ø±íÃûÉÏÏÞΪ10¸ö×Ö·û£¬ÒòΪ±íʾ±íµÄÎļþÃûÓÐÒ»¸öµã£¨.£©ºÍÈý¸ö×Ö·ûµÄÀ©Õ¹Ãû¡£   

µÚÈý£¬ÎļþϵͳµÄ´óСдÃô¸ÐÐÔÓ°Ïìµ½ÄãÈçºÎÃüÃûºÍÒýÓÃÊý¾Ý¿âºÍ±íÃû¡£Èç¹ûÎļþϵͳÊÇ´óСдÃô¸ÐµÄ£¨ÈçUnix£©£¬Á½¸öÃû×Ömy_tblºÍMY_TBLÊDz»Í¬µÄ±í¡£Èç¹ûÎļþϵͳ²»ÊÇ´óСдÃô¸ÐµÄ£¨ÈçWindows£©£¬ÕâÁ½¸öÃû×ÖÖ¸µÄÊÇÏàͬµÄ±í¡£Èç¹ûÄãÓÃÒ»¸öUnix·þÎñÆ÷¿ª·¢Êý¾Ý¿â£¬²¢ÇÒÈç¹ûÄãÓпÉÄÜ×ªÒÆµ½Windows£¬ÄãÓ¦¸Ã¼ÇסÕâÒ»µã¡£   

2.5 MySQL״̬Îļþ   
³ýÁËÊý¾Ý¿âĿ¼£¬MySQLÊý¾ÝĿ¼»¹°üº¬ºÜ¶à״̬Îļþ£¬ÕâЩÎļþ×ܽáÔÚϱíÖС£´ó¶àÊýÎļþµÄȱʡÃû´Ó·þÎñÆ÷Ö÷»úÃûÉú³É£¬ÔÚϱíÖбíʾΪHOSTNAME¡£   

±í MySQL״̬Îļþ   
ÎļþÀàÐÍ È±Ê¡Ãû ÎļþÄÚÈÝ   
½ø³ÌID HOSTNAME.pid ·þÎñÆ÷½ø³ÌµÄID   
³ö´íÈÕÖ¾ HOSTNAME.err Æô¶¯ºÍ¹Ø±ÕʼþºÍ³ö´íÇé¿ö   
Ò»°ãÈÕÖ¾ HOSTNAME.log Á¬½Ó/¶Ï¿ªÊ¼þºÍ²éѯÐÅÏ¢   
¸üÐÂÈÕÖ¾ HOSTNAME.nnn Ð޸ıí½á¹¹¼¶ÄÚÈݵÄËùÓвéѯÎı¾   

µ±·þÎñÆ÷Æô¶¯Ê±£¬Ëü½«Æä½ø³ÌIDдÈë½ø³ÌID£¨PID£©ÎļþÖУ¬¶øÔÚËü¹Ø±Õʱ£¬É¾³ý¸ÃÎļþ¡£PIDÎļþÊÇÔÊÐí·þÎñÆ÷±¾Éí±»ÆäËû½ø³ÌÕÒµ½µÄ¹¤¾ß¡£ÀýÈ磬Èç¹ûÄãÔËÐÐmysql.server£¬ÔÚϵͳ¹Ø±Õʱ£¬¹Ø±ÕMySQL·þÎñÆ÷µÄ½Å±¾¼ì²éPIDÎļþÒÔ¾ö¶¨ËüÐèÒªÏòÄĸö½ø³Ì·¢³öÒ»¸öÖÕÖ¹Ðźš£   

³ö´íÈÕÖ¾ÓÉsafe_mysqld´´½¨£¬×÷Ϊ·þÎñÆ÷±ê×¼³ö´íÊä³öµÄÖØ¶¨Ïò£¬Ëü°üº¬ÈκÎаµ½stderrµÄÏûÏ¢¡£ÕâÒâζ×ÅÖ»ÓÐÄãͨ¹ýµ÷ÓÃsafe_mysqldÆô¶¯·þÎñÆ÷£¬³ö´íÎļþ²Å´æÔÚ£¨ÎÞÂÛÈçºÎ£¬ËüÊÇÒ»¸öÆô¶¯·þÎñÆ÷µÄ×îºÃ·½·¨£¬ÒòΪÈç¹ûËüÓÉÓÚ³ö´í¶øÍ˳ö£¬safe_mysqld½«ÖØÆô·þÎñÆ÷¡££©¡£   

Ò»°ãÈÕÖ¾ºÍ¸üÐÂÈÕÖ¾ÊÇ¿ÉÑ¡µÄ¡£Äã¿ÉÒÔÖ»¿ªÆôÄãÐèÒªµÄÈÕÖ¾ÀàÐÍ£¬ÓÃ--logºÍ--log-update·þÎñÆ÷Ñ¡Ïî¡£   
Ò»°ãÈÕÖ¾Ìṩ·þÎñÆ÷²Ù×÷µÄÒ»°ãÐÅÏ¢£ºË­´ÓÄÄÀïÁ¬½Ó·þÎñÆ÷ºÍËûÃÇ·¢³öʲô²éѯ¡£¸üÐÂÈÕÖ¾Ìṩ²éѯÐÅÏ¢£¬µ«Ö»ÓÐÐÞ¸ÄÊý¾Ý¿âÄÚÈݵIJéѯ¡£¸üÐÂÈÕÖ¾ÄÚÈݱ»Ð´³ÉSQLÓï¾ä£¬¿ÉÒÔ½«ËüÃÇÌṩ¸ømysql¿Í»§³ÌÐòÀ´Ö´ÐС£Èç¹ûÄãÓöÉϱÀÀ££¬²¢ÇÒ±ØÐëµ¹»Ø±¸·ÝÎļþ£¬¸üÐÂÈÕÖ¾¾ÍºÜÓÐÓã¬ÒòΪÄãÄÜÖØ¸´Ö´ÐÐ×Ô±ÀÀ£Ê±µÄ¸üУ¬Í¨¹ý½«¸üÐÂÈÕÖ¾·´À¡¸ø·þÎñÆ÷£¬ÕâÔÊÐíÄ㽫Êý¾Ý¿â»Ö¸´µ½±ÀÀ£·¢ÉúʱµÄ״̬¡£   

ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£¬ÐÅÏ¢³öÏÖÔÚÒ»°ãÈÕÖ¾ÖУ¬ËüÊÇÒ»¸ö´´½¨Ò»¸öÔÚÊý¾Ý¿âtestÖÐ±í£¬²åÈëÒ»ÐУ¬È»ºóɾ³ý±íµÄ»á»°£º   

990509 7:37:09 492 Connect Paul@localhost on test   
492 Query show databases   
492 Query show tables   
492 Field List tbl_1   
492 Field List tbl_2   
...   
990509 7:34:22 492 Query CREATE TABLE my_tbl (val INT)   
990509 7:34:34 492 Query INSERT INTO my_tbl values (1)   
990509 7:34:38 492 Query DROP TABLE my_tbl   
990509 7:34:40 492 Quit   
Ò»°ãÈÕÖ¾°üº¬ÈÕÆÚºÍʱ¼ä¡¢·þÎñÆ÷½ø³ÌID¡¢Ê¼þÀàÐͺÍʼþÐÅÏ¢À¸Ä¿¡£   

ͬһ¸ö»á»°³öÏÖÔÚ¸üÐÂÈÕÖ¾Öп´ÉÏÈ¥ÏñÕâÑù£º   

use test;   
CREATE TABLE my_tbl (val int);   
INSERT INTO my_tbl VALUES(1);   
DROP TABLE my_tbl;   
¶Ô¸üÐÂÈÕÖ¾£¬ÓÃ--log-long-formatÑ¡Ïî»ñµÃÒ»¸öÀ©Õ¹ÐÎʽµÄÈÕÖ¾£¬À©Õ¹ÈÕÖ¾ÌṩÓйØË­ºÎʱ·¢³öÿһÌõ²éѯ£¬ÕâʹÓøü¶àµÄ´ÅÅ̿ռ䣬µ«Èç¹ûÄãÏëÖªµÀË­ÔÚ×öʲô£¬¶ø²»Óý«¸üÐÂÈÕÖ¾¶ÔÕÕÒ»°ãÈÕÖ¾µÄÄÚÈÝÕÒµ½Á¬½Óʼþ¡£   

¶ÔÉÏÃæµÄ»á»°£¬À©Õ¹¸üÐÂÈÕÖ¾²úÉúÕâÑùµÄÐÅÏ¢£º   

# Time: 990507 7:32:42   
# User@Host: paul [paul] @ localhost []   
use test;   
CREATE TABLE my_tbl (val int);   
# User@Host: paul [paul] @ localhost []   
INSERT INTO my_tbl VALUES(1);   
# Time: 990507 7:32:43   
# User@Host: paul [paul] @ localhost []   
DROP TABLE my_tbl;¡¡   
±£Ö¤ÄãµÄÈÕÖ¾Îļþ°²È«²¢ÇÒ²»ÈÃÈÎÒâÓû§¶ÁÈ¡ÊǸöºÃÖ÷Òâ¡£Ò»°ãÈÕÖ¾ºÍ¸üÐÂÈÕÖ¾¶¼Äܰüº¬ÖîÈç¿ÚÁîµÈµÄÃô¸ÐÐÅÏ¢£¬ÒòΪËüÃǰüº¬²éѯÎı¾¡£È磺   

990509 7:23:31 4 Query UPDATE user SET Password=PASSWORD("secret")   
WHERE user="root"   
¶ÔÓÚ¼ì²éºÍÉèÖÃÊý¾ÝĿ¼µÄȨÏÞ£¬Çë¼û¡¶MySQL°²È«ÐÔÖ¸ÄÏ¡·¡£Ê¹Êý¾ÝĿ¼°²ÐÔµÄÖ¸Áî°üº¬ÏÂÁÐÃüÁ   

% chmod 700 DATADIR   

ÒÔÓµÓÐÊý¾ÝĿ¼µÄUnixÓû§ÔËÐдËÃüÁȷ±£·þÎñÆ÷Ò²ÒÔ´ËÓû§ÔËÐУ¬·ñÔò¸ÃÃüÁî²»½ö½«ÆäËüÈ˾ÜÖ®ÃÅÍ⣬ËüÒ²×èÖ¹·þÎñÆ÷·ÃÎÊÄãµÄÊý¾Ý¿â¡£   

״̬Îļþ³öÏÖÔÚÊý¾ÝĿ¼µÄ¶¥¼¶Ä¿Â¼£¬¾ÍÏóÊý¾Ý¿âĿ¼£¬ËùÒÔÄã¿ÉÄܵ£ÐÄÕâЩÎļþÃûÊÇ·ñÓëÊý¾Ý¿âÃû³åÍ»»ò³ö´í£¨ÈçÔÚ·þÎñÆ÷Ö´ÐÐSHOW DATABASESÓï¾äʱ£©¡£´ð°¸ÊDz»¡£×´Ì¬ºÍÈÕÖ¾ÎļþÐÅÏ¢´æ´¢ÔÚÎļþÖУ¬¶øÊý¾Ý¿âÊÇĿ¼£¬ËùÒÔ¿ÉÖ´ÐгÌÐòÄÜÓÃÒ»¸ö¼òµ¥µÄstat()µ÷ÓÃÇø·ÖËüÃÇ¡£Èç¹ûÄã¿´Ò»ÏÂÊý¾ÝĿ¼£¬Äã¿ÉÒÔÇø·Ö״̬ÎļþºÍÊý¾Ý¿âĿ¼£¬ÓÃls -l²¢¼ì²éģʽµÄµÚÒ»¸ö×Ö·ûÊÇÒ»¸ö"_"»¹ÊÇÒ»¸ö"d"¡£   

ÄãÒ²¿ÉÒÔ¼òµ¥µØ¿´Ò»ÏÂÃû×Ö£¬ËùÓÐ״̬ÎļþÃû°üº¬Ò»¸öµã(".")£¬¶øÊý¾Ý¿âĿ¼ûÓУ¨.ÔÚÊý¾Ý¿âÃûÖÐÊÇÎÞЧ×Ö·û£©¡£   

MySQL·þÎñÆ÷µÄÆô¶¯ÓëÍ£Ö¹

×÷ÕߣºêÌ×Ó

Ò»¡¢ÒÔ·ÇÌØÈ¨Óû§ÔËÐÐMySQL·þÎñÆ÷
ÔÚÌÖÂÛÈçºÎÆô¶¯MySQL·þÎñÆ÷֮ǰ£¬ÈÃÎÒÃÇ¿¼ÂÇÒ»ÏÂÓ¦¸ÃÒÔʲôÓû§Éí·ÝÔËÐÐMySQL·þÎñÆ÷¡£·þÎñÆ÷¿ÉÒÔÊÖ¶¯»ò×Ô¶¯Æô¶¯¡£Èç¹ûÄãÊÖ¶¯Æô¶¯Ëü£¬·þÎñÆ÷ÒÔÄãµÇ¼Unix£¨Linux£©µÄÓû§Éí·ÝÆô¶¯£¬¼´Èç¹ûÄãÓÃpaulµÇ¼Unix²¢Æô¶¯·þÎñÆ÷£¬ËüÓÃpaulÔËÐУ»Èç¹ûÄãÓÃsuÃüÁîÇл»µ½root£¬È»ºóÔËÆô¶¯·þÎñÆ÷£¬ÔòËüÒÔrootÔËÐС£È»¶ø£¬´ó¶àÊýÇé¿öÏÂÄã¿ÉÄܲ»ÏëÊÖ¶¯Æô¶¯·þÎñÆ÷£¬×îÓпÉÄÜÊÇÄã°²ÅÅMySQL·þÎñÆ÷ÔÚϵͳÒýµ¼Ê±×Ô¶¯Æô¶¯£¬×÷Ϊ±ê×¼Òýµ¼¹ý³ÌµÄÒ»²¿·Ö£¬ÔÚUnixÏ£¬¸ÃÒýµ¼¹ý³ÌÓÉϵͳµÄUnixÓû§rootÖ´ÐУ¬²¢ÇÒÈκÎÔڸùý³ÌÖÐÔËÐеĽø³Ì¾ùÒÔrootȨÏÞÔËÐС£

ÄãÓ¦¸ÃÀμÇMySQL·þÎñÆ÷Æô¶¯¹ý³ÌµÄÁ½¸öÄ¿±ê£º

ÄãÏëÈ÷þÎñÆ÷ÒÔij¸ö·ÇrootÓû§ÔËÐС£Ò»°ãµØ£¬ÄãÏëÏÞÖÆÈκÎÔËÐнø³ÌµÄÄÜÁ¦£¬³ý·ÇȷʵÐèÒªrootȨÏÞ£¬¶øMySQL²»ÐèÒª¡£  
ÄãÏëÈ÷þÎñÆ÷ʼÖÕÒÔͬһ¸öÓû§ÔËÐУ¬´ËʱÓÃÒ»¸öÓû§¶øÆäËûʱºòÒÔÁíÒ»¸ö²»Í¬µÄÓû§ÔËÐзþÎñÆ÷ÊǺܲ»·½±ãµÄ£¬ÕâÔì³ÉÁËΪÎļþºÍĿ¼ÒÔ¾ßÓв»Í¬ÊôÖ÷µÄÊý¾ÝĿ¼Ï±»´´½¨£¬²¢¿ÉÄܵ¼Ö·þÎñÆ÷²»ÄÜ·ÃÎÊÊý¾Ý¿â»ò±í£¬Õâ¿´ÄãÒÔÄĸöÓû§ÔËÐС£Í³Ò»ÓÃͬһ¸öÓû§ÔËÐзþÎñÆ÷ÊÇÄã±ÜÃâÕâ¸öÎÊÌâ¡£  
ÒªÒ»¸öÆÕͨµÄ·ÇÌØÈ¨Óû§ÔËÐзþÎñÆ÷£¬°´ÕÕÏÂÁв½Ö裺

Ñ¡ÔñÒ»¸öÓÃÓÚÔËÐзþÎñÆ÷µÄÓû§£¬mysqld¿ÉÒÔÓÃÈκÎÓû§ÔËÐС£µ«ÔÚ¸ÅÄîÉϽÏÇåÎúµÄÊÇΪMySQL²Ù×÷´´½¨Ò»¸öµ¥¶ÀµÄÓû§¡£ÄãÒ²¿ÉÒÔÌØ±ðΪMySQLÑ¡ÔñÒ»¸öÓû§×é¡£±¾ÎÄʹÓÃmysqladmºÍmysqlgrp·Ö±ð×÷ΪÓû§ÃûºÍÓû§×éÃû¡£
Èç¹ûÄãÒÑÔÚ×Ô¼ºµÄÕ˺Åϰ²×°ºÃÁËMySQLÇÒûÓÐϵͳÉϵÄÌØÊâ¹ÜÀíȨÏÞ£¬Ä㽫¿ÉÄÜÔÚÄã×Ô¼ºµÄÓû§IDÏÂÔËÐзþÎñÆ÷¡£ÔÚÕâÖÖÇé¿öÏ£¬ÓÃÄã×Ô¼ºµÄµÇ¼ÃûºÍÓû§×é´úÌæmysqladmºÍmysqlgrp¡£
Èç¹ûÄãÔÚRedHat LinuxÉÏÓÃrpmÎļþ°²×°MySQL£¬¸Ã°²×°½«×Ô¶¯´´½¨Ò»¸öÃûΪmysqlµÄÕ˺ţ¬ÓøÃÕ˺ŴúÌæmysqladm¡£  
Èç¹û±ØÒª£¬ÓÃϵͳͨ³£µÄ´´½¨Óû§µÄ¹ý³Ì´´½¨·þÎñÆ÷Õ˺ţ¬ÄãÐèÒªÓÃroot×öËü¡£  
Èç¹û·þÎñÆ÷ÔÚÔËÐУ¬Í£Ö¹Ëü¡£  
ÐÞ¸ÄÊý¾ÝĿ¼ºÍÈκÎ×ÓĿ¼ºÍÎļþµÄÊôÖ÷£¬ÕâÑùʹµÃmysqladmÓû§ÓµÓÐËüÃÇ¡£ÀýÈ磬Èç¹ûÊý¾ÝĿ¼ÊÇ/usr/local/var£¬Äã¿ÉÒÔÈçÏÂÉèÖÃmysqladmµÄÊôÖ÷£¨ÄãÐèÒªÒÔrootÔËÐÐÕâЩÃüÁ£º

#cd /usr/local/var
#chown -R mysqladm.mysqlgrp

ÐÞ¸ÄÊý¾ÝĿ¼ºÍÈκÎ×ÓĿ¼ºÍÎļþµÄȨÏÞ£¬Ê¹µÃËüÃÇÖ»ÄÜÓÉmysqladmÓû§·ÃÎÊ¡£Èç¹ûÊý¾ÝĿ¼ÊÇ/usr/local/var£¬Äã¿ÉÒÔÉèÖÃÓÉmysqladmÓµÓеÄÈκζ«Î÷£º

# cd /usr/local/var
# chmod -R go-rwx  
µ±ÄãÉèÖÃÊý¾ÝĿ¼¼°ÆäÄÚÈݵÄÊôÖ÷ºÍģʽʱ£¬×¢Òâ·ûºÅÁ¬½Ó¡£ÄãÐèҪ˳×ÅËüÃDz¢¸Ä±äËüÃÇÖ¸ÏòµÄÎļþ»òĿ¼µÄÊôÖ÷ºÍģʽ¡£Èç¹ûÁ¬½ÓÎļþµÄĿ¼λÓÚ²»ÊôÓÚÄãµÄµØ·½£¬»áÓÐЩÂé·³£¬Äã¿ÉÄÜÐèÒªrootÉí·Ý¡£

ÔÚÄãÍê³ÉÁËÉÏÊö¹ý³Ìºó£¬ÄãÓ¦¸ÃÈ·±£×ÜÊÇÔÚÒÔmysqladm»òrootµÇ¼ʱÆô¶¯·þÎñÆ÷£¬ÔÚºóÕߣ¬È·¶¨Ö¸¶¨--user=mysqladmÑ¡Ïʹ·þÎñÆ÷Äܽ«ÆäÓû§IDÇл»µ½mysqladm£¨Í¬Ê±Ò²ÊÊÓÃÓÚϵͳÆô¶¯¹ý³Ì£©¡£

--userÑ¡ÏîÔÚMySQL 3.22ÖÐÒýÈ룬Èç¹ûÄãÓÐÀϰ汾£¬Äã¿ÉÒÔʹÓÃsuÃüÁî¸æËßϵͳÔÚÒÔrootÔËÐÐʱÔÚÌØ¶¨µÄÓû§ÏÂÔËÐзþÎñÆ÷¡£

¶þ¡¢Æô¶¯·þÎñÆ÷µÄ·½·¨
ÔÚÎÒÃÇÈ·¶¨ÁËÓÃÓÚÔËÐзþÎñÆ÷µÄÕ˺źó£¬Äã¿ÉÒÔÑ¡ÔñÈçºÎ°²ÅÅÆô¶¯·þÎñÆ÷¡£Äã¿ÉÒÔ´ÓÃüÁîÐÐÊÖ¶¯»òÔÚϵͳÒýµ¼¹ý³ÌÖÐ×Ô¶¯µØÔËÐÐËü¡£¶ÔÓÚÆô¶¯·þÎñÆ÷ÓÉÈýÖÖÖ÷Òª·½·¨£º

Ö±½Óµ÷ÓÃmysqld¡£
Õâ¿ÉÄÜÊÇ×î²»³£Óõķ½·¨£¬½¨Òé²»Òª¶àʹÓã¬Òò´Ë±¾ÎIJ»Ïêϸ½éÉÜ¡£  
µ÷ÓÃsafe_mysqld½Å±¾¡£
safe_mysqldÊÔͼȷ¶¨·þÎñÆ÷³ÌÐòºÍÊý¾ÝĿ¼µÄλÖá£È»ºóÓ÷´Ó³ÕâЩֵµÄÑ¡Ïîµ÷Ó÷þÎñÆ÷¡£safe_mysqld½«±ê×¼³ö´íÉ豸´Ó·þÎñÆ÷ÖØ¶¨Î»µ½Êý¾ÝĿ¼ÏµÄÒ»¸ö³ö´íÎļþ£¬Ê¹µÃÓÐËüµÄÒ»Ìõ¼Ç¼¡£ÔÚÆô¶¯·þÎñÆ÷ºó£¬safe_mysqldÒ²¼àÊÓËü²¢ÇÒÈç¹ûËüËÀµôÔòÖØÆôËü¡£safe_mysqld³£ÓÃÓÚBSD·ç¸ñµÄUnixϵͳ¡£
Èç¹ûÄãÒÔroot»òÔÚϵͳÒýµ¼ÆÚ¼äÆô¶¯sqfe_mysqld£¬³ö´íÈÕÖ¾ÓÉrootÓµÓУ¬Õâ¿ÉÄÜÔÚÄãÒÔºóÊÔͼÓÃÒ»¸ö·ÇÌØÈ¨Óû§µ÷ÓÃsafe_mysqldʱ½«µ¼Ö¡°permission denied¡±£¨È¨Ï޾ܾø£©´íÎó£¬É¾³ý³ö´íÈÕÖ¾ÔÙÊÔһϡ£  
µ÷ÓÃmysql.server½Å±¾¡£
Õâ¸ö½Å±¾Í¨¹ýÓÐÒâÓÃÓÚSystem VµÄÆô¶¯ºÍֹͣϵͳÉϵÄsafe_mysqld.mysql.serverÀ´Æô¶¯·þÎñÆ÷£¬¸Ãϵͳ°üº¬¼¸¸ö°üº¬ÔÚ»úÆ÷½øÈë»òÍ˳öÒ»¸ö¸ø¶¨ÔËÐм¶±ðʱ±»µãÓõĽű¾Ä¿Â¼¡£Ëü¿ÉÒÔÓÃÒ»¸östart»òstop²ÎÊýµãÓÃÒÔ±íÃ÷ÄãÊÇÏëÆô¶¯»¹ÊÇÏëÍ£Ö¹·þÎñÆ÷¡£  
safe_mysqld½Å±¾°²×°ÔÚMySQL°²×°Ä¿Â¼µÄbinĿ¼Ï£¬»ò¿ÉÔÚMySQLÔ´´úÂë·Ö·¢µÄscriptsĿ¼ÏÂÕÒµ½¡£mysql.server½Å±¾°²×°ÔÚMySQL°²×°Ä¿Â¼ÏµÄshare/mysqldĿ¼Ï»ò¿ÉÒÔÔÚMySQLÔ´´úÂë·Ö·¢µÄsupport_filesĿ¼ÏÂÕÒµ½¡£Èç¹ûÄãÏëʹÓÃËüÃÇ£¬ÄãÐèÒª½«ËüÃÇ¿½±´µ½Êʵ±µÄĿ¼Ï¡£

¶ÔBSD·ç¸ñµÄϵͳ£¨FreeBSD£¬OpenBSDµÈ£©£¬Í¨³£ÔÚ/etcĿ¼ÏÂÓм¸¸öÎļþÔÚÒýµ¼Ê±³õʼ»¯·þÎñ£¬ÕâЩÎļþͨ³£ÓÐÒÔ¡°rc¡±¿ªÍ·µÄÃû×Ö£¬ÇÒËüÓпÉÄÜÓÉÒ»¸öÃûΪ¡°rc.local¡±µÄÎļþ£¨»òÀàËÆµÄ¶«Î÷£©£¬ÌØÒâÓÃÓÚÆô¶¯±¾µØ°²×°µÄ·þÎñ¡£ÔÚÕâÑùµÄϵͳÉÏ£¬Äã¿ÉÄܽ«ÀàËÆÓÚÏÂÁеÄÐмÓÈërc.localÎļþÖÐÒÔÆô¶¯·þÎñÆ÷£¨Èç¹ûsafe_mysqldµÄĿ¼ÔÚÄãµÄϵͳÉϲ»Í¬£¬ÐÞ¸ÄËü¼´¿É£©£º

if [ -x /usr/local/bin/safe_mysqld ]; then
  /usr/local/bin/safe_mysqld &
fi
¶ÔÓÚ¶ÔÓÚSystem V·ç¸ñµÄϵͳ£¬Äã¿ÉÒÔͨ¹ý½«mysql.server·ÅÔÚ/etcÏÂÊʵ±µÄÆô¶¯Ä¿Â¼ÏÂÀ´°²×°Ëü¡£Èç¹ûÄãÔËÐÐLinux²¢´ÓÒ»¸öRPMÎļþ°²×°MySQL£¬ÕâЩÒѾ­ÎªÄã×öºÃÁË£¬·ñÔò½«½Å±¾°²×°ÔÚÖ÷Æô¶¯Ä¿Â¼Ï£¬²¢½«Ö¸ÏòËüµÄÁ¬½Ó·ÅÔÚÊʵ±µÄÔËÐм¶±ðĿ¼Ï¡£ÄãÒ²¿ÉÒÔʹ½Å±¾Ö»ÄÜÓÉrootÆô¶¯¡£  

Æô¶¯ÎļþµÄĿ¼²¼¾Ö¸÷ϵͳ²»Í¬£¬ËùÒÔÄãÐèÒª¼ì²éһϿ´¿´ÄãµÄϵͳÈçºÎ×éÖ¯ËüÃÇ¡£ÀýÈçÔÚLinux PPCÉÏ£¬Ä¿Â¼ÊÇ/etc/rc.dºÍ/etc/rc.d/rc3.d£¬ÕâÑùÄã¿ÉÒÔÕâÑù°²×°½Å±¾£º

#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc.d/rc3.d
#ln -s ../init.d/mysql.server S99mysql
ÔÚsolarisÉÏ£¬Ö÷½Å±¾Ä¿Â¼ÊÇ/etc/init.d£¬²¢ÇÒÔËÐм¶±ðĿ¼ÊÇ/etc/rd2.d£¬ËùÒÔÃüÁî¿´ÉÏÈ¥ÏñÕâÑù£º

#cp mysql.server /etc/rc.d/init.d
#cd /etc/init.d
#chmod 500 mysql.server
#cd /etc/rc2.d
#ln -s ../init.d/mysql.server S99mysql
ÔÚϵͳÆô¶¯Ê±£¬S99mysql½Å±¾½«×Ô¶¯ÓÃÒ»¸östart²ÎÊýµ÷Óá£Èç¹ûÄãÓÐchkconfigÃüÁLinuxÉÏÓУ©£¬Äã¿ÉÒÔÓÉËü°ïÖú°²×°mysql.server½Å±¾¶ø²»ÊÇÏóÉÏÃæÄÇÑùÊÖ¹¤ÔËÐÐÉÏÊöÃüÁî¡£

2.1 Ö¸¶¨Æô¶¯Ñ¡Ïî
Èç¹ûÄãÏëÔÚ·þÎñÆ÷Æô¶¯Ê±Ö¸¶¨¶îÍâµÄÆô¶¯Ñ¡ÏÄã¿ÉÓÐÁ½ÖÖ·½·¨¡£Äã¿ÉÒÔÐÞ¸ÄÄãʹÓÃµÄÆô¶¯½Å±¾£¨safe_mysqld»òmysql.server£©²¢Ö±½ÓÔÚµ÷Ó÷þÎñÆ÷µÄÐÐÉÏÖ¸¶¨Ñ¡Ï»òÔÚÒ»¸öÑ¡ÏîÎļþÖÐÖ¸¶¨Ñ¡Ïî¡£½¨ÒéÄãÈç¹û¿ÉÄÜÔÚÒ»¸öÈ«¾ÖÑ¡ÏîÎļþÖÐÖ¸¶¨Ñ¡ÏËüͨ³£Î»ÓÚ/etc/my.cnf£¨Unix£©»òc:\my.cnf£¨Windows£©¡£

ijЩÖÖÀàµÄÐÅÏ¢ÎÞ·¨ÒÔ·þÎñÆ÷Ñ¡ÏîÖ¸¶¨¡£¶ÔÓÚÕâЩÄã¿ÉÄÜÐèÒªÐÞ¸Äsafe_mysqld¡£ÀýÈ磬Èç¹ûÄãµÄ·þÎñÆ÷²»ÄÜÕýÈ·Ñ¡Ôñ±¾µØÊ±Çø¶øÒÔGMT·µ»ØÊ±¼äÖµ£¬Äã¿ÉÒÔÉèÖÃTZ»·¾³±äÁ¿¸øËüÒ»¸öָʾ¡£Èç¹ûÄãÓÃsafe_mysqld»òmysql.serverÆô¶¯·þÎñÆ÷£¬Äã¿ÉÒÔ½«Ò»¸öÊ±ÇøÉèÖüӵ½safe_mysqld¡£ÕÒµ½Æô¶¯·þÎñÆ÷µÄÐв¢ÔÚ¸ÃÐÐǰ¼ÓÈëÏÂÁÐÃüÁ

TZ=US/Central
export TZ
ÉÏÃæÃüÁîµÄÓï·¨ÊÇSolarisµÄ£¬¶ÔÓÚÆäËûϵͳÓï·¨¿ÉÄܲ»Í¬£¬Çë²éÔÄÏà¹ØÊֲᡣÈç¹ûÄãȷʵÐÞ¸ÄÁËÄãµÄÆô¶¯½Å±¾£¬Òª¼ÇסÏ´ÎÄã°²×°MySQLʱ£¨ÈçÉý¼¶µ½Ð°汾£©£¬ÄãµÄÐ޸Ľ«Ê§È¥£¬³ý·ÇÄãÊ×ÏÈÔڱ𴦸´ÖÆÁËÆô¶¯½Å±¾¡£ÔÚ°²×°ÁËа汾ºó£¬±È½Ïоɰ汾µÄ½Å±¾£¬¿´¿´ÄãÐèÒªÖØ½¨Ê²Ã´¸Ä±ä¡£

2.2 ÔÚÆô¶¯Ê±¼ì²éÄãµÄ±í
³ýÁ˰²ÅÅÄãµÄ·þÎñÆ÷ÔÚϵͳÒýµ¼Ê±Æô¶¯£¬Äã¿ÉÄÜÒª°²×°myisamchkºÍisamchk½Å±¾£¬ÒÔÔÚ·þÎñÆ÷Æô¶¯Ç°¼ì²éÄãµÄ±í¡£Äã¿ÉÄÜÔÚÒ»¸ö±ÀÀ£ºóÖØÆô£¬ÓпÉÄܱíÒѾ­Ë𺦣¬ÔÚÆô¶¯Ç°¼ì²éËüÊÇÒ»¸ö·¢ÏÖÎÊÌâµÄºÃ·½·¨¡£

Èý¡¢Í£Ö¹·þÎñÆ÷
ÒªÊÖ¹¤Æô¶¯·þÎñÆ÷£¬Ê¹ÓÃmysqladmin£º

%mysqladmin shutdown

Òª×Ô¶¯Í£Ö¹·þÎñÆ÷£¬Äã²»Ðè×öÌØ±ðµÄÊÂÇé¡£BSDϵͳһ°ãͨ¹ýÏò½ø³Ì·¢Ò»¸öTERMÐźÅÍ£Ö¹·þÎñ£¬ËüÃÇ»òÕßÕýÈ·Ó¦´ðËü»ò±»´Ö³µØÉ±ËÀ¡£mysqldÔÚËüÊÕµ½Õâ¸öÐźÅʱÒÔÖÕÖ¹×÷ΪӦ´ð¡£¶ÔÓÚÓÃmysql.serverÆô¶¯·þÎñÆ÷µÄSystem V·ç¸ñµÄϵͳ£¬Í£Ö¹½ø³Ì½«ÓÃÒ»¸östop²ÎÊýµ÷Óøýű¾£¬¸æËß·þÎñÆ÷ÖÕÖ¹£¬µ±È»¼Ù¶¨ÄãÒѰ²×°ÁËmysql.server¡£

ËÄ¡¢Èç¹ûÄã²»ÄÜÁ¬½Ó·þÎñÆ÷£¬ÈçºÎÖØÐ»ñµÃ¶Ô·þÎñÆ÷µÄ¿ØÖÆ
ÔÚijЩÇé¿öÏ£¬Äã¿ÉÄÜÓÉÓÚ²»ÄÜÁ¬½ÓËü¶øÊÖ¹¤ÖØÆô·þÎñÆ÷¡£µ±È»£¬ÕâÓеãì¶Ü¡£ÒòΪһ°ãÄãͨ¹ýÁ¬½Ó·þÎñÆ÷¶øÊÖ¹¤¹ØµôËü£¬ÄÇôÕâÖÖÇé¿öÈçºÎ»á³öÏÖ¡£

Ê×ÏÈ£¬MySQL root¿ÚÁî¿ÉÒÔÒѾ­ÉèÖÃΪÄã²»ÖªµÀµÄÖµ£¬Õâ¿ÉÄÜ·¢ÉúÔÚÄãÐ޸ĿÚÁîʱ£¬ÀýÈ磬Èç¹ûÄãÔÚÊäÈëпÚÁîʱżȻ¼üÈëÒ»¸ö²»¿É¼ûµÄ¿ØÖÆ×Ö·û¡£ÄãÒ²¿ÉÄÜÍü¼Ç¿ÚÁî¡£

Æä´Î£¬Á¬½Ólocalhostͨ³£Í¨¹ýÒ»¸öUnixÓòÌ×½Ó×ÖÎļþ½øÐУ¬Ò»°ãÊÇ/tmp/mysql.sock¡£Èç¹ûÌ×½Ó×ÖÎļþ±»É¾³ýÁË£¬±¾µØ¿Í»§¾Í²»ÄÜÁ¬½Ó¡£Õâ¿ÉÄÜ·¢ÉúÔÚÄãµÄϵͳÔËÐÐÒ»¸öcronÈÎÎñɾ³ýÁË/tmpϵÄÁÙʱÎļþ¡£

Èç¹ûÄãÒòΪ¶ªÊ§Ì×½Ó×ÖÎļþ¶ø²»ÄÜÁ¬½Ó£¬Äã¿ÉÒÔ¼òµ¥µØÍ¨¹ýÖØÆô·þÎñÆ÷ÖØÐ´´½¨µÃµ½Ëü¡£ÒòΪ·þÎñÆ÷ÔÚÆô¶¯Ê±ÖØÐ´´½¨Ëü¡£ÕâÀïµÄÆ­¾ÖÊÇÄã²»ÄÜÓÃÌ×½Ó×Ö½¨Á¢Á¬½ÓÒòΪËü²»¼ûÁË£¬Äã±ØÐ뽨Á¢Ò»¸öTCP/IPÁ¬½Ó£¬ÀýÈ磬Èç¹û·þÎñÆ÷Ö÷»úÊÇpit.snake.net£¬Äã¿ÉÒÔÕâÑùÁ¬½Ó£º

%mysqladmin -p -u root -h pit.snake.net shutdown

Èç¹ûÌ×½Ó×ÖÎļþ±»Ò»¸öcronÈÎÎñɾ³ý£¬ÎÊÌâ½«ÖØ¸´³öÏÖ£¬³ý·ÇÄãÐÞ¸ÄcronÈÎÎñ»òʹÓÃÒ»¸ö»òʹÓÃÒ»¸ö²»Í¬µÄÌ×½Ó×ÖÎļþ£¬Äã¿ÉÒÔʹÓÃÈ«¾ÖÑ¡ÏîÎļþÖ¸¶¨Ò»¸ö²»Í¬µÄÌ×½Ó×Ö£¬ÀýÈ磬Èç¹ûÊý¾ÝĿ¼ÊÇ/usr/local/var£¬Äã¿ÉÒÔͨ¹ý½«ÏÂÁÐÐмÓÈë/etc/my.cnfÖУ¬½«Ì×½Ó×ÖÎļþÒÆµ½ÄÇÀ

[mysqld]
socket=/usr/local/var/mysql.sock

[client]
socket=/usr/local/var/mysql.sock
¶Ô·þÎñÆ÷ºÍ¿Í»§¾ùÖ¸¶¨Â·¾¶Ãû£¬Ê¹µÃËüÃǶ¼Ê¹ÓÃͬһ¸öÌ×½Ó×ÖÎļþ¡£Èç¹ûÄãֻΪ·þÎñÆ÷ÉèÖ÷¾¶£¬¿Í»§³ÌÐò½«ÈÔÈ»ÆÚÍûÔÚԭλÖÃÖ´ÐÐÌ×½Ó×Ö£¬ÔÚÐ޸ĺóÖØÆô·þÎñÆ÷£¬Ê¹ËüÔÚÐÂλÖô´½¨Ì×½Ó×Ö¡£

Èç¹ûÄãÓÉÓÚÍü¼Çroot¿ÚÁî»òÒѾ­½«ËüÉèÖÃΪ²»Í¬ÓÚÈÏΪµÄÖµ¶ø²»ÄÜÁ¬½Ó£¬ÄãÐèÒªÖØÐ»ñµÃ¶Ô·þÎñÆ÷µÄ¿ØÖÆ£¬ÊÇÄãÄÜÔÙ´ÎÉèÖÿÚÁ

ÖжϷþÎñÆ÷
Èç¹ûÄãÒÔrootµÇ¼·þÎñÆ÷Ö÷»ú£¬Äã¿ÉÒÔÓÃkillÃüÁîÖÕÖ¹·þÎñÆ÷¡£Äã¿ÉÒÔʹÓÃpsÃüÁî»òͨ¹ýѰÕÒ·þÎñÆ÷µÄPIDÎļþ£¨Í¨³£ÔÚÊý¾ÝĿ¼ÖУ©ÕÒ³ö·þÎñÆ÷½ø³ÌµÄID¡£
×îºÃÊÇÊ×Ïȳ¢ÊÔÓÃÒ»¸öÏò·þÎñÆ÷·¢³öÒ»¸öTERMÐźŵÄÕý³£kill¿´ËüÊÇ·ñ½«ÒÔÕý³£ÖÕÖ¹Ó¦´ð¡£ÕâÖÖ·½Ê½Ï£¬±íºÍÈÕÖ¾½«ÕýÈ·µØ±»Çå¿Õ¡£Èç¹û·þÎñÆ÷×èÈû²¢ÇÒ²»Ó¦´ðÒ»¸öÕý³£ÖÕÖ¹Ðźţ¬Äã¿ÉÒÔÓÃkill -9Ç¿ÖÆÖÕÖ¹Ëü¡£ÕâÊÇ×îºóµÄÊÖ¶ÎÁË£¬ÒòΪÕâ¿ÉÄÜÓÐδÇå¿ÕµÄÐ޸쬶øÇÒÄãð×ÅÈÃ±í´¦ÓÚÒ»¸ö²»Ò»ÖÂ״̬µÄ·çÏÕ¡£
Èç¹ûÄãÓÃkill -9ÖÕÖ¹·þÎñÆ÷£¬ÒªÈ·±£ÔÚÆô¶¯·þÎñÆ÷ǰÓÃmyisamchkºÍisamchk¼ì²éÄãµÄ±í¡£  
ÓÃ--skip-grant-tableÑ¡ÏîÖØÆô·þÎñÆ÷¡£
Õâ¸æËß·þÎñÆ÷²»Ê¹ÓÃÊÚȨ±íÑéÖ¤Á¬½Ó£¬ÕâÔÊÐíÄãÒÔrootÁ¬½Ó¶øÎÞÐë¿ÚÁî¡£ÔÚÄãÒѾ­Á¬½Óºó£¬¸Ä±äroot¿ÚÁî¡£  
ÓÃmysqladmin flush-privileges¸æËß·þÎñÆ÷ÔÙ´ÎʹÓÃÊÚȨ±íÆô¶¯
Èç¹ûÄãµÄmysqladmin°æ±¾²»ÈÏʶflash-privileges£¬ÊÔÒ»ÊÔreload¡£  
Îå¡¢ÔËÐжà¸ö·þÎñÆ÷
´ó¶àÊýÔÙһ̨¸ø¶¨µÄ»úÆ÷ÉÏÔËÐе¥¸öMySQL·þÎñÆ÷£¬µ«ÔںܶàÇé¿öÏ£¬ÔËÐжà¸ö·þÎñÆ÷ÊǺÜÓÐÓõģº

Äã¿ÉÄÜÏë²âÊÔÒ»¸ö·þÎñÆ÷µÄа汾£¬¶ø±£ÁôÄãÕýÔÚÔËÐеÄÉú²ú·þÎñÆ÷¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã»áÔËÐв»Í¬µÄ·þÎñÆ÷´úÂë¡£  
²Ù×÷ϵͳһ°ãÏÞÖÆÃ¿¸ö½ø³ÌµÄ´ò¿ªÎļþ¾ä±úÊýÁ¿¡£Èç¹ûÄãµÄϵͳºÜÄÑÌá¸ßÕâ¸öÏÞÖÆ£¬ÔËÐжà¸ö·þÎñÆ÷Êǽâ¾öÏÞÖÆµÄÒ»ÖÖ·½·¨¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÄÜÔËÐÐͳһ·þÎñÆ÷µÄ¶à¸öʵÀý¡£  
ISP¾­³£ÎªÆä¿Í»§Ìṩ×Ô¼ºµÄMySQL°²×°£¬ÓбØÒªÉæ¼°µ¥¶ÀµÄ·þÎñÆ÷¡£ÔÚÕâÖÖÇé¿öÏ£¬Äã¿ÉÄÜÔËÐ