Ò».Óï·¨
explain < table_name >
ÀýÈç: explain select * from t3 where id=3952602;
¶þ.explainÊä³ö½âÊÍ
+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+
1.id
ÎÒµÄÀí½âÊÇSQLÖ´ÐеÄ˳ÀûµÄ±êʶ,SQL´Ó´óµ½Ð¡µÄÖ´ÐÐ.
ÀýÈç:
mysql> explain select * from (select * from ( select * from t3 where id=3952602) a) b;
+----+-------------+------------+--------+-------------------+---------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+--------+-------------------+-------- ......
ÔÚApache, PHP, MySQLµÄÌåϵ¼Ü¹¹ÖУ¬MySQL¶ÔÓÚÐÔÄܵÄÓ°Ïì×î´ó£¬Ò²ÊǹؼüµÄºËÐIJ¿·Ö¡£¶ÔÓÚDiscuz!ÂÛ̳³ÌÐòÒ²ÊÇÈç´Ë£¬MySQLµÄÉèÖÃÊÇ·ñºÏÀíÓÅ»¯£¬Ö±½ÓÓ°Ïìµ½ÂÛ̳µÄËٶȺͳÐÔØÁ¿£¡Í¬Ê±£¬MySQLÒ²ÊÇÓÅ»¯ÄѶÈ×î´óµÄÒ»¸ö²¿·Ö£¬²»µ«ÐèÒªÀí½âһЩMySQLרҵ֪ʶ£¬Í¬Ê±»¹ÐèÒª³¤Ê±¼äµÄ¹Û²ìͳ¼Æ²¢ÇÒ¸ù¾Ý¾Ñé½øÐÐÅжϣ¬È»ºóÉèÖúÏÀíµÄ²ÎÊý¡£
ÏÂÃæÎÒÃÇÁ˽âÒ»ÏÂMySQLÓÅ»¯µÄһЩ»ù´¡£¬MySQLµÄÓÅ»¯ÎÒ·ÖΪÁ½¸ö²¿·Ö£¬Ò»ÊÇ·þÎñÆ÷ÎïÀíÓ²¼þµÄÓÅ»¯£»¶þÊÇMySQL×ÔÉí(my.cnf)µÄÓÅ»¯¡£
(1) ·þÎñÆ÷Ó²¼þ¶ÔMySQLÐÔÄܵÄÓ°Ïì
a) ´ÅÅÌÑ°µÀÄÜÁ¦£¨´ÅÅÌI/O£©,ÒÔÄ¿Ç°¸ßתËÙSCSIÓ²ÅÌ(7200ת/Ãë)ΪÀý£¬ÕâÖÖÓ²ÅÌÀíÂÛÉÏÿÃëÑ°µÀ7200´Î£¬ÕâÊÇÎïÀíÌØÐÔ¾ö¶¨µÄ£¬Ã»Óа취¸Ä±ä¡£ MySQLÿÃëÖÓ¶¼ÔÚ½øÐдóÁ¿¡¢¸´ÔӵIJéѯ²Ù×÷£¬¶Ô´ÅÅ̵ĶÁдÁ¿¿ÉÏë¶øÖª¡£ËùÒÔ£¬Í¨³£ÈÏΪ´ÅÅÌI/OÊÇÖÆÔ¼MySQLÐÔÄܵÄ×î´óÒòËØÖ®Ò»£¬¶ÔÓÚÈÕ¾ù·ÃÎÊÁ¿ÔÚ100ÍòPVÒÔÉϵÄDiscuz!ÂÛ̳£¬ÓÉÓÚ´ÅÅÌI/OµÄÖÆÔ¼£¬MySQLµÄÐÔÄÜ»á·Ç³£µÍÏ£¡½â¾öÕâÒ»ÖÆÔ¼ÒòËØ¿ÉÒÔ¿¼ÂÇÒÔϼ¸ÖÖ½â¾ö·½°¸£º
ʹÓÃRAID-0+1´ÅÅÌÕóÁУ¬×¢Òâ²»Òª³¢ÊÔʹÓÃRAID-5£¬MySQLÔÚRAID-5´ÅÅÌÕóÁÐÉϵÄЧÂʲ»»áÏñÄãÆÚ´ýµÄÄÇÑù¿ì£» Å×Æú´«Í³µÄÓ²ÅÌ£¬Ê¹ÓÃËٶȸü¿ìµÄÉÁ´æʽ´æ´¢É豸¡£¾¹ýDiscuz!¹«Ë¾¼¼Êõ¹¤³ ......
mysqlÊý¾ÝÂÒÂëÎÊÌâÔÒò¼°½â¾ö£¨×ܽáƪ£©
µÚÒ»½â¾ö·½·¨£º
ÂÒÂëÎÊÌâ¼òµ¥Ëµ¾ÍÊÇÊý¾Ý¿âдÈë¶ÁÈ¡£¬ÍøÒ³Îļþ£¬ÍøÒ³ÏÔʾʱ¼¸¸ö»·½ÚµÄ±àÂë²»Ò»ÖÂÔì³ÉµÄ¡£
ÂÒÂëÎÊÌâ
дÈëʱ£ºÒ³ÃæÌáȡдÈëÊý¾Ý±àÂëºÍдÈëÊý¾Ý¿âʱ±àÂë²»Ò»ÖÂ
¶Áȡʱ£º¶ÁÈ¡ºóËùÓñàÂëÓëÊý¾Ý¿âдÈëʱ²»Ò»ÖÂ
ÏÔʾʱ£º±àÂëÓëÊý¾Ý¿â¶ÁÈ¡ºóµÄÊý¾Ý²»Ò»ÖÂ
ºÜÏÔȻֻÓÐÈýÕ߶¼Í³Ò»²ÅÐУº£¨ÒÔutf-8ΪÀý£©
1£ºÒ³ÃæÌá½»Êý¾Ý±àÂëutf-8£¨ÕâÒ²¿ÉÒÔËãÊÇÏÔʾҳÃæ±àÂ룩£¬
2£ºÊý¾Ý¿âдÈëʱ±àÂ룺alter database db default character set ‘utf8’collate ‘utf8-general-ci’£¬
3£ºÊý¾Ý¿â¶ÁȡʱËùÓñàÂ룺mysql_query£¨“set names ‘utf8’”£©£»
4£ºÏÔʾҳÃæ±àÂ룺<meta http-equiv="Content-type"content=“text/html, charset=utf-8”>
µÚ¶þ½â¾ö·½·¨£º
½øÈëMYSQLÃüÁîÐÐ:
mysql> alter database you_dbname default character set 'utf8';
mysql> SET character_set_client='utf8';
mysql> SET character_set_connection='utf8'
mysql> SET character_set_results='utf8'
......
SELECT --´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT --ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE --´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE --¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE --´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE --´ÓÊý¾Ý¿âÖÐɾ³ý±í
ALTER TABLE --ÐÞ¸ÄÊý¾Ý¿â±í½á¹¹
CREATE VIEW --´´½¨Ò»¸öÊÓͼ
DROP VIEW --´ÓÊý¾Ý¿âÖÐɾ³ýÊÓͼ
CREATE INDEX --ΪÊý¾Ý¿â±í´´½¨Ò»¸öË÷Òý
DROP INDEX --´ÓÊý¾Ý¿âÖÐɾ³ýË÷Òý
CREATE PROCEDURE --´´½¨Ò»¸ö´æ´¢¹ý³Ì
DROP PROCEDURE --´ÓÊý¾Ý¿âÖÐɾ³ý´æ´¢¹ý³Ì
CREATE TRIGGER --´´½¨Ò»¸ö´¥·¢Æ÷
DROP TRIGGER --´ÓÊý¾Ý¿âÖÐɾ³ý´¥·¢Æ÷
CREATE SCHEMA --ÏòÊý¾Ý¿âÌí¼ÓÒ»¸öÐÂģʽ
DROP SCHEMA --´ÓÊý¾Ý¿âÖÐɾ³ýÒ»¸öģʽ
CREATE DOMAIN --´´½¨Ò»¸öÊý¾ÝÖµÓò
ALTER DOMAIN --¸Ä±äÓò¶¨Òå
DROP DOMAIN --´ÓÊý¾Ý¿âÖÐɾ³ýÒ»¸öÓò
--Êý¾Ý¿ØÖÆ
GRANT --ÊÚÓèÓû§·ÃÎÊȨÏÞ
DENY --¾Ü¾øÓû§·ÃÎÊ
REVOKE --½â³ýÓû§·ÃÎÊȨÏÞ
--ÊÂÎñ¿ØÖÆ
COMMIT --½áÊøµ±Ç°ÊÂÎñ
ROLLBACK --ÖÐÖ¹µ±Ç°ÊÂÎñ
SET TRANSACTION --¶¨Ò嵱ǰÊÂÎñÊý¾Ý·ÃÎÊÌØÕ÷
--³ÌÐò»¯SQL
DECLARE --Ϊ²éѯÉ趨Óαê
EXPLAN --Ϊ²éѯÃèÊöÊý¾Ý·ÃÎʼƻ®
OPEN --¼ìË÷²éѯ½á¹û´ò¿ªÒ»¸öÓαê
FETCH -- ......
mysql ´ó¶ÔÏó´æÈ¡:
¡¡¡¡ÀàÐÍÒ»°ãÓ¦¸ÃÓÃmediumblod,
¡¡¡¡blobÖ»ÄÜ´æ2µÄ16´Î·½¸öbyte,
¡¡¡¡mediumblodÊÇ24´Î·½,
¡¡¡¡Ò»°ãÀ´Ëµ¹»ÓÃÁË.longblobÊÇ32´Î·½ÓÐЩ´ó.
¡¡¡¡MYSQLĬÈÏÅäÖÃÖ»ÄÜ´æ1M´óСµÄÎļþ,ÒªÐÞ¸ÄÅäÖÃ,WIN°æ±¾µÄÔÚmysql.iniÎļþÖÐ
¡¡¡¡ÐÞ¸Ämax_allowed_packet,net_buffer_lengthµÈ¼¸¸ö²ÎÊý,»òÖ±½ÓSET GLOBAL varName=value.
¡¡¡¡linux°æ±¾¿ÉÒÔÔÚÆô¶¯²ÎÊýºó¼Ó-max_allowed_packet=xxMµÈ¼¸¸ö²ÎÊý.
¡¡¡¡MYSQL´æ´ó¶ÔÏó×îºÃÖ±½Ó¾ÍsetBinaryStream,ÓÖ¿ìÓÖ·½±ã.
¡¡¡¡¶ø²»ÒªÏȲåÈë¿ÕÔÙÔìÐͳÉBLOBÈ»ºóÔÙsetBlob
¡¡¡¡Àý×Ó:
¡¡¡¡import java.sql.*;
¡¡¡¡import java.io.*;
¡¡¡¡public class DBTest {
¡¡¡¡
¡¡¡¡ static String driver = "org.gjt.mm.mysql.Driver";
¡¡¡¡ static String url = "jdbc:mysql://localhost:3306/test";
¡¡¡¡ static String user = "root";
¡¡¡¡ static String passwd = "passwd";
¡¡¡¡ public static void main(String[] args) throws Exception {
¡¡¡¡ Connection conn = null;
¡¡¡¡ try {
¡¡¡¡ Class.forName(driver);
¡¡¡¡ conn = DriverManager.getConnection(url,user,passwd);
¡¡¡¡
¡¡¡¡ int op = 1;
¡¡¡¡ //²åÈë
¡¡ ......
mysql ´ó¶ÔÏó´æÈ¡:
¡¡¡¡ÀàÐÍÒ»°ãÓ¦¸ÃÓÃmediumblod,
¡¡¡¡blobÖ»ÄÜ´æ2µÄ16´Î·½¸öbyte,
¡¡¡¡mediumblodÊÇ24´Î·½,
¡¡¡¡Ò»°ãÀ´Ëµ¹»ÓÃÁË.longblobÊÇ32´Î·½ÓÐЩ´ó.
¡¡¡¡MYSQLĬÈÏÅäÖÃÖ»ÄÜ´æ1M´óСµÄÎļþ,ÒªÐÞ¸ÄÅäÖÃ,WIN°æ±¾µÄÔÚmysql.iniÎļþÖÐ
¡¡¡¡ÐÞ¸Ämax_allowed_packet,net_buffer_lengthµÈ¼¸¸ö²ÎÊý,»òÖ±½ÓSET GLOBAL varName=value.
¡¡¡¡linux°æ±¾¿ÉÒÔÔÚÆô¶¯²ÎÊýºó¼Ó-max_allowed_packet=xxMµÈ¼¸¸ö²ÎÊý.
¡¡¡¡MYSQL´æ´ó¶ÔÏó×îºÃÖ±½Ó¾ÍsetBinaryStream,ÓÖ¿ìÓÖ·½±ã.
¡¡¡¡¶ø²»ÒªÏȲåÈë¿ÕÔÙÔìÐͳÉBLOBÈ»ºóÔÙsetBlob
¡¡¡¡Àý×Ó:
¡¡¡¡import java.sql.*;
¡¡¡¡import java.io.*;
¡¡¡¡public class DBTest {
¡¡¡¡
¡¡¡¡ static String driver = "org.gjt.mm.mysql.Driver";
¡¡¡¡ static String url = "jdbc:mysql://localhost:3306/test";
¡¡¡¡ static String user = "root";
¡¡¡¡ static String passwd = "passwd";
¡¡¡¡ public static void main(String[] args) throws Exception {
¡¡¡¡ Connection conn = null;
¡¡¡¡ try {
¡¡¡¡ Class.forName(driver);
¡¡¡¡ conn = DriverManager.getConnection(url,user,passwd);
¡¡¡¡
¡¡¡¡ int op = 1;
¡¡¡¡ //²åÈë
¡¡ ......
mysql ´ó¶ÔÏó´æÈ¡:
¡¡¡¡ÀàÐÍÒ»°ãÓ¦¸ÃÓÃmediumblod,
¡¡¡¡blobÖ»ÄÜ´æ2µÄ16´Î·½¸öbyte,
¡¡¡¡mediumblodÊÇ24´Î·½,
¡¡¡¡Ò»°ãÀ´Ëµ¹»ÓÃÁË.longblobÊÇ32´Î·½ÓÐЩ´ó.
¡¡¡¡MYSQLĬÈÏÅäÖÃÖ»ÄÜ´æ1M´óСµÄÎļþ,ÒªÐÞ¸ÄÅäÖÃ,WIN°æ±¾µÄÔÚmysql.iniÎļþÖÐ
¡¡¡¡ÐÞ¸Ämax_allowed_packet,net_buffer_lengthµÈ¼¸¸ö²ÎÊý,»òÖ±½ÓSET GLOBAL varName=value.
¡¡¡¡linux°æ±¾¿ÉÒÔÔÚÆô¶¯²ÎÊýºó¼Ó-max_allowed_packet=xxMµÈ¼¸¸ö²ÎÊý.
¡¡¡¡MYSQL´æ´ó¶ÔÏó×îºÃÖ±½Ó¾ÍsetBinaryStream,ÓÖ¿ìÓÖ·½±ã.
¡¡¡¡¶ø²»ÒªÏȲåÈë¿ÕÔÙÔìÐͳÉBLOBÈ»ºóÔÙsetBlob
¡¡¡¡Àý×Ó:
¡¡¡¡import java.sql.*;
¡¡¡¡import java.io.*;
¡¡¡¡public class DBTest {
¡¡¡¡
¡¡¡¡ static String driver = "org.gjt.mm.mysql.Driver";
¡¡¡¡ static String url = "jdbc:mysql://localhost:3306/test";
¡¡¡¡ static String user = "root";
¡¡¡¡ static String passwd = "passwd";
¡¡¡¡ public static void main(String[] args) throws Exception {
¡¡¡¡ Connection conn = null;
¡¡¡¡ try {
¡¡¡¡ Class.forName(driver);
¡¡¡¡ conn = DriverManager.getConnection(url,user,passwd);
¡¡¡¡
¡¡¡¡ int op = 1;
¡¡¡¡ //²åÈë
¡¡ ......
¹ØÓÚÐÞ¸ÄmysqlµÄrootÃÜÂëµÄ½â´ð£¨×ܽáƪ£©
ÕûÀíÁËÒÔÏÂËÄÖÖÔÚMySQLÖÐÐÞ¸ÄrootÃÜÂëµÄ·½·¨,Ö÷ÒªÊÇÓÐʱºò×Ô¼ºÓöµ½ÁËÕâ¸öÎÊÌâ²»ÖªµÀÔõô¸ãÁË£¬µ±È»Èç¹ûÄܸø¹ã´óµÄPHPer½â¾öÎÊÌâÒ²ÊÇÎÒµÄÈÙÐÒ°¡£¬ºÇºÇ¡£
·½·¨1£º ÓÃSET PASSWORDÃüÁî
¡¡¡¡mysql -u root
¡¡¡¡mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
·½·¨2£ºÓÃmysqladmin
mysqladmin -u root password "newpass"
¡¡¡¡Èç¹ûrootÒѾ
ÉèÖùýÃÜÂ룬²ÉÓÃ
ÈçÏ·½·¨
¡¡¡¡mysqladmin -u root password oldpass "newpass"
·½·¨3£º ÓÃUPDATEÖ±½Ó±à¼user±í
¡¡¡¡mysql -u root
¡¡¡¡mysql> use mysql;
¡¡¡¡mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
¡¡¡¡mysql> FLUSH PRIVILEGES;
ÔÚ¶ªÊ§rootÃÜÂëµÄʱºò£¬¿ÉÒÔÕâÑù
¡¡¡¡mysqld_safe --skip-grant-tables&
¡¡¡¡mysql -u root mysql
¡¡¡¡mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
¡¡¡¡mysql> FLUSH PRIVILEGES;
Ö§³Ö¿ªÔ´£¬×ðÖرðÈ˵ÄÀͶ¯³É¹û,±¾ÎIJ¿·ÖÄÚÈÝתÔØ×Ôhttp://www.linuxidc.com/Linux/2008-02/11137.ht ......