Ë÷ÒýµÄ´ú¼Û
¡¡¡¡Ò»°ãÀ´Ëµ£¬Èç¹ûMySQLÄܹ»ÕÒµ½·½·¨£¬ÀûÓÃË÷ÒýÀ´¸ü¿ìµØ´¦Àí²éѯ£¬Ëü¾Í»áÕâÑù×ö¡£Õâ
Òâζ×Å£¬¶ÔÓÚ´ó¶àÊýÇé¿ö£¬Èç¹ûÄãûÓÐ¶Ô±í½øÐÐË÷Òý£¬¾Í»áʹÐÔÄÜÊܵ½Ë𺦡£Õâ¾ÍÊÇÎÒËùÃè»æµÄË÷ÒýÓŵãµÄÃÀ¾°¡£µ«ÊÇËüÓÐȱµãÂð£¿Óеģ¬ËüÔÚʱ¼äºÍ¿Õ¼äÉ϶¼Óпª
Ïú¡£ÔÚʵ¼ùÖУ¬Ë÷ÒýµÄÓŵãµÄ¼ÛÖµÒ»°ã»á³¬¹ýÕâЩȱµã£¬µ«ÊÇÄãÒ²Ó¦¸ÃÖªµÀµ½µ×ÓÐһЩʲôȱµã¡£
¡¡¡¡Ê×ÏÈ£¬Ë÷Òý¼Ó¿ìÁ˼ìË÷µÄËÙ¶È£¬µ«ÊǼõ
ÂýÁ˲åÈëºÍɾ³ýµÄËÙ¶È£¬Í¬Ê±»¹¼õÂýÁ˸üб»Ë÷ÒýµÄÊý¾ÝÁÐÖеÄÖµµÄËÙ¶È¡£Ò²¾ÍÊÇ˵£¬Ë÷Òý¼õÂýÁË´ó¶àÊýÉæ¼°Ð´²Ù×÷µÄËÙ¶È¡£·¢ÉúÕâÖÖÏÖÏóµÄÔÒòÔÚÓÚдÈëÒ»Ìõ¼Ç¼
µÄʱºò²»µ«ÐèҪдÈëÊý¾ÝÐУ¬»¹ÐèÒª¸Ä±äËùÓеÄË÷Òý¡£Êý¾Ý±í´øÓеÄË÷ÒýÔ½¶à£¬ÐèÒª×ö³öµÄÐ޸ľÍÔ½¶à£¬Æ½¾ùÐÔÄܵĽµµÍ³Ì¶ÈÒ²¾ÍÔ½´ó¡£ÔÚ±¾ÎĵÄ"¸ßЧÂÊÔØÈëÊý
¾Ý"²¿·ÖÖУ¬ÎÒÃǽ«¸üϸÖµØÁ˽âÕâЩÏÖÏó²¢ÕÒ³ö´¦Àí·½·¨¡£
¡¡¡¡Æä´Î£¬Ë÷Òý»á»¨·Ñ´ÅÅ̿ռ䣬¶à¸öË÷ÒýÏàÓ¦µØ»¨·Ñ¸ü¶àµÄ´ÅÅ̿ռ䡣Õâ¿ÉÄܵ¼Ö¸ü¿ìµØµ½´ïÊý¾Ý±íµÄ´óСÏÞÖÆ£º
¡¡¡¡· ¶ÔÓÚMyISAM±í£¬Æµ·±µØË÷Òý¿ÉÄÜÒýÆðË÷ÒýÎļþ±ÈÊý¾ÝÎļþ¸ü¿ìµØ´ïµ½×î´óÏÞÖÆ¡£
¡¡¡¡· ¶ÔÓÚBDB±í£¬Ëü°ÑÊý¾ÝºÍË÷ÒýÖµÒ»Æð´æ´¢ÔÚͬһ¸öÎļþÖУ¬Ìí¼ÓË÷ÒýÒýÆðÕâÖÖ±í ......
MySQL »á×Ô¶¯¶Ï¿ª IDLE ʱ¼ä³¬¹ý 8 СʱµÄÊý¾Ý¿âÁ¬½Ó£¬´Ó¶øµ¼ÖÂһЩ»ùÓÚÊý¾Ý¿âÁ¬½ÓµÄÓ¦ÓóÌÐò£¬ÌرðÊÇ WEB Ó¦ÓóÌÐò³ö´í¡£
ÓÐÁ½¸ö°ì·¨¿ÉÒÔ½â¾öÕâ¸öÎÊÌ⣺
µÚÒ»¸ö°ì·¨ÊÇÐÞ¸Ä MySQL µÄÅäÖòÎÊý¡£Õâ¸ö²ÎÊýµÄÃû³ÆÊÇ wait_timeout
£¬ÆäĬÈÏֵΪ 28800(µ¥Î»Ãë)£¬¸ÕºÃ¾ÍÊÇ 8 Сʱ¡£ÆäÒâÒåΪ¹Ø±ÕÒ»¸öÁ¬½Ó֮ǰÔÚÕâ¸öÁ¬½ÓÉϵȵ½Ðж¯µÄÃëÊý£¬Ò²¾ÍÊÇ˵£¬Èç¹ûÒ»¸öÁ¬½ÓÏÐÖó¬¹ýÕâ¸öÑ¡ÏîËùÉèÖõÄÃëÊý£¬MySQL »áÖ÷¶¯¶Ï¿ªÕâ¸öÁ¬½Ó¡£
Ð޸IJÙ×÷£º´ò¿ª/etc/my.cnf,ÔÚÊôÐÔ×émysqldÏÂÃæÌí¼Ó²ÎÊýÈçÏ£º
[mysqld]
interactive_timeout=28800000
wait_timeout=28800000
windowsÏÂÔÚmy.iniÎÄÖÐÔö¼Ó£º
interactive_timeout=28800000
wait_timeout=28800000
ÓÐʵ¼ù±íÃ÷£¬Ã»Óа취°ÑÕâ¸öÖµÉèÖóÉÎÞÏ޴󣬼´ÓÀ¾Ã¡£Òò´ËÈç¹ûÄãÎÞ·¨±£Ö¤ÄãµÄÓ¦ÓóÌÐò±Ø¶¨ÔÚÉ趨µÄÃëÊýÄÚÖÁÉÙÓÐÒ»´Î²Ù×÷£¬ÄÇô×îºÃÓõڶþ¸ö·½·¨½â¾öÕâ¸öÎÊÌâ¡£
µÚ¶þ¸ö°ì·¨ÊÇÈçÏÂÐÞ¸Ä JDBC Á¬½ÓµÄ URL£º
jdbc:mysql://hostaddress
:3306/schemaname
?autoReconnect=true
Ìí¼Ó autoReconnect=true
Õâ¸ö²ÎÊý£¬¼´Äܽâ¾öÕâ¸öÎÊÌâ¡£ ......
ÔÊÐíËùÓÐÖ÷»úÔ¶³Ì·ÃÎÊ
GRANT ALL PRIVILEGES ON *.* TO 'dba'@'%' IDENTIFIED BY 'dbapassword' WITH GRANT OPTION;
Ö¸¶¨Ö÷»ú¿ÉÔ¶³Ì
GRANT ALL PRIVILEGES ON *.* TO 'dba'@'192.168.0.100' IDENTIFIED BY 'dbapassword' WITH GRANT OPTION;
Ö¸¶¨È¨ÏÞ¿ªÔ¶³Ì
grant select,insert,update,delete on test.* to dba@"192.168.0.100" Identified by "dbapassword";
²é¿´Óû§ÐÅÏ¢
select user,host,password from mysql.user;
ÉèÖúÍÐÞ¸ÄrootÃÜÂë
set password for root@localhost=password('ÔÚÕâÀïÌîÈërootÃÜÂë');
ÐÞ¸ÄÃÜÂë
use mysql
update user set password=password("ÐÂÃÜÂë") where user="root";
ɾ³ýÄäÃûÓû§
delete from mysql.user where user='';
ɾ³ýÃûΪtestµÄ¿ÕÊý¾Ý¿â
drop database test;
½¨Á¢¿â
create database test;
ÔÚÊý¾Ý¿âÖн¨Á¢±í
create table test(num int, name varchar(50));
²åÈëÒ»¸öÖµµ½±íÖÐ
insert into test values(1,'Hello World!');¡¡
²é±íÐÅÏ¢
select * from test;
¸üбíµÄÐÅÏ¢£¬¸³ÓèеÄÖµ
update test set name='Hello Everyone!';
ɾ³ý±í
drop table test;
ɾ³ý¿â
drop database test;¡¡
È¡Ïûdba¶Ôc ......
user±í:
id | name
———
1 | libk
2 | zyfon
3 | daodao
user_action±í:
user_id | action
—————
1 | jump
1 | kick
1 | jump
2 | run
4 | swim
sql:
select id, name, action from user as u
left join user_action a on u.id = a.user_id
result:
id | name | action
——————————–
1 | libk | jump ¢Ù
1 | libk | kick ¢Ú
1 | libk | jump ¢Û
2 | zyfon | run ¢Ü
3 | daodao | null ¢Ý
·ÖÎö£º
×¢Òâµ½user_actionÖл¹ÓÐÒ»¸öuser_id=4, action=swimµÄ¼Í¼£¬µ«ÊÇûÓÐÔÚ½á¹ûÖгöÏÖ£¬
¶øuser±íÖеÄid=3, name=daodaoµÄÓû§ÔÚuser_actionÖÐûÓÐÏàÓ¦µÄ¼Í¼£¬µ«ÊÇÈ´³öÏÖÔÚÁ˽á¹û¼¯ÖÐ
ÒòΪÏÖÔÚÊÇleft join£¬ËùÓеŤ×÷ÒÔleftΪ׼.
½á¹û1£¬2£¬3£¬4¶¼ÊǼÈÔÚ×ó±íÓÖÔÚÓÒ±íµÄ¼Í¼£¬5ÊÇÖ»ÔÚ×ó±í£¬²»ÔÚÓÒ±íµÄ¼Í¼
½áÂÛ£º
ÎÒÃÇ¿ÉÒÔÏëÏóleft join ÊÇÕâÑù¹¤×÷µÄ
´Ó×ó±í¶Á³öÒ»Ìõ£¬Ñ¡³öËùÓÐÓëonÆ¥ÅäµÄÓÒ±í¼Í¼(nÌõ)½øÐÐÁ¬½Ó£¬ÐγÉnÌõ¼Í¼(°üÀ¨Öظ´µÄÐУ¬È磺½á¹û1ºÍ½á¹û3)£¬
Èç¹ûÓÒ±ßûÓÐÓëonÌõ¼þÆ¥ÅäµÄ±í£¬ÄÇÁ¬½ÓµÄ×ֶζ¼ÊÇnull.
È»ºó¼ÌÐ ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬²åÈë¼Ç¼ʱ²»ÓòÙ×÷´Ë×ֶΣ¬»á×Ô¶¯»ñµÃÊý¾ÝÖµ¡£ORACLEûÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬ÐèÒª½¨Á¢Ò»¸ö×Ô¶¯Ôö³¤µÄÐòÁкţ¬²åÈë¼Ç¼ʱҪ°ÑÐòÁкŵÄÏÂÒ»¸öÖµ¸³ÓÚ´Ë×ֶΡ£
CREATE SEQUENCE ÐòÁкŵÄÃû³Æ (×îºÃÊDZíÃû+ÐòÁкűê¼Ç) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
ÆäÖÐ×î´óµÄÖµ°´×ֶεij¤¶ÈÀ´¶¨, Èç¹û¶¨ÒåµÄ×Ô¶¯Ôö³¤µÄÐòÁкŠNUMBER(6) , ×î´óֵΪ999999
INSERT Óï¾ä²åÈëÕâ¸ö×Ö¶ÎֵΪ: ÐòÁкŵÄÃû³Æ.NEXTVAL
2. µ¥ÒýºÅµÄ´¦Àí
&nb ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬²åÈë¼Ç¼ʱ²»ÓòÙ×÷´Ë×ֶΣ¬»á×Ô¶¯»ñµÃÊý¾ÝÖµ¡£ORACLEûÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬ÐèÒª½¨Á¢Ò»¸ö×Ô¶¯Ôö³¤µÄÐòÁкţ¬²åÈë¼Ç¼ʱҪ°ÑÐòÁкŵÄÏÂÒ»¸öÖµ¸³ÓÚ´Ë×ֶΡ£
CREATE SEQUENCE ÐòÁкŵÄÃû³Æ (×îºÃÊDZíÃû+ÐòÁкűê¼Ç) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
ÆäÖÐ×î´óµÄÖµ°´×ֶεij¤¶ÈÀ´¶¨, Èç¹û¶¨ÒåµÄ×Ô¶¯Ôö³¤µÄÐòÁкŠNUMBER(6) , ×î´óֵΪ999999
INSERT Óï¾ä²åÈëÕâ¸ö×Ö¶ÎֵΪ: ÐòÁкŵÄÃû³Æ.NEXTVAL
2. µ¥ÒýºÅµÄ´¦Àí
&nb ......
Function crypt(Action As String, Key As String, Src As String) As String
'Action
' E encrypts, D decrypts,
'Key is a unique string needed to en/decrypt (either
' hardcode or setup something for the user to enter.
'Src is the string to be en/decrypted.
On Error GoTo errHandler
Dim count As Integer, KeyPos As Integer, KeyLen As Integer, SrcAsc As Integer
Dim Dest As String, Offset As Integer, TmpSrcAsc, SrcPos As Integer
KeyLen = Len(Key)
If Action = "E" Then
Randomize
Offset = (Rnd * 10000 Mod 255) + 1
Dest = Hex$(Offset)
For SrcPos = 1 To Len(Src)
SrcAsc = (Asc(Mid$(Src, SrcPos, 1)) + Offset) Mod 255
If KeyPos < KeyLen Then KeyPos = KeyPos + 1 Else KeyP ......