ÉèÖÃMySQLÊý¾Ýͬ²½£¨µ¥Ïò&Ë«Ïò£©
ÉèÖÃMySQLÊý¾Ýͬ²½£¨µ¥Ïò&Ë«Ïò£©
ÓÉÓÚ¹«Ë¾µÄÒµÎñÐèÇó£¬ÐèÒªÍøÍ¨ºÍµçÐŵÄÊý¾Ýͬ²½£¬¾Í×öÁ˸öMySQLµÄË«Ïòͬ²½£¬¼ÇϹý³Ì£¬ÒÔºóÓõõ½ÔÙ·³öÀ´£¬Ò²Ìù³öÀ´¹©´ó¼Ò²Î¿¼¡£
Ò»¡¢×¼±¸·þÎñÆ÷
ÓÉÓÚMySQL²»Í¬°æ±¾Ö®¼äµÄ(¶þ½øÖÆÈÕÖ¾)binlog¸ñʽ¿ÉÄܻ᲻һÑù£¬Òò´Ë×îºÃµÄ´îÅä×éºÏÊÇMasterµÄMySQL°æ±¾ºÍSlaveµÄ°æ±¾Ïàͬ»òÕ߸üµÍ£¬MasterµÄ°æ±¾¿Ï¶¨²»ÄܸßÓÚSlave°æ±¾¡£
±¾ÎÄÖУ¬ÎÒÃǼÙÉèÖ÷·þÎñÆ÷(ÒÔϼò³ÆMaster)ºÍ´Ó·þÎñÆ÷(ÒÔϼò³ÆSlave)µÄ°æ±¾¶¼ÊÇ5.0.27£¬²Ù×÷ϵͳÊÇRedHat Linux 9¡£
¼ÙÉèͬ²½MasterµÄÖ÷»úÃûΪ£ºA(IP:192.168.0.1)£¬SlaveÖ÷»úÃûΪ£ºB(IP:192.168.0.2)£¬2¸öMySQLµÄbasedirĿ¼¶¼ÊÇ/usr/local/mysql£¬datadir¶¼ÊÇ£º/var/lib/mysql¡£
¶þ¡¢ÉèÖÃͬ²½·þÎñÆ÷
1¡¢ÉèÖÃͬ²½Master
ÐÞ¸Ä my.cnf Îļþ£¬ÔÚ
# Replication Master Server (default)
# binary logging is required for replication
Ìí¼ÓÈçÏÂÄÚÈÝ£º
log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
ÖØÆôMySQL,´´½¨Ò»¸öMySQLÕʺÅΪͬ²½×¨ÓÃ
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.2 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;
2¡¢ÉèÖÃͬ²½Slave
ÐÞ¸Ämy.cnfÎļþ£¬Ìí¼Ó
server-id = 2
master-host = 192.168.0.1
master-user = back
master-password = back
master-port = 3306
replicate-ignore-db=mysql
replicate-do-db=test
ÖØÆôMySQL
3¡¢Æô¶¯Í¬²½
ÔÚÖ÷·þÎñÆ÷A MySQLÃüÁî·ûÏ£º
show master status;
ÏÔʾ£¨µ±È»Õâ¸öÊÇÎÒ»úÆ÷µÄÇé¿ö£¬ÄãµÄ²»¿ÉÄܸúÎÒÒ»Ñù¹þ£¬Ö»ÊǸöÀý×Ó£©£º
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 | test | mysql |
+------------------+----------+-------------------+------------------+
ÔÚ´Ó·þÎñÆ÷A MySQLÃüÁî·ûÏ£º
slave stop£»
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;
slave start;
ÓÃshow slave status\G;¿´Ò»Ï´ӷþÎñÆ÷µÄͬ²½Çé¿ö
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Èç¹û¶¼ÊÇyes£¬ÄÇ´ú±íÒѾÔÚͬ²½
Íù±íÀïÃæÐ´µãÊý¾Ý²âÊÔһϿ´ÊÇ·ñͬ²½³É¹¦£¬Èç¹û²»³É¹¦£¬¾ø¶Ô²»ÊÇÄãµÄRPÎÊÌ⣬ÔÙ¼ì²éһϲÙ×
Ïà¹ØÎĵµ£º
mysql(°üÀ¨ËùÓÐ5.*ϵÁÐ,5.1.21֮ǰ)µÄÂý²éѯÈÕ־ĬÈÏÊÇÒÔÃëΪµ¥Î»µÄ,¿ÉÒÔͨ¹ýset [session|global] long_query_time=1Õâ¸ö×îµÍÒ²¾ÍÊÇ¿ÉÒÔÉèÖõ½1Ãë,¶ÔÓÚ0.5,0.005Ö®Àà¾ÍÎÞÄÜΪÁ¦ÁË,Õâʱºò¿ÉÒÔÓÐmicroslow patch(msl patch)²¹¶¡À´Íê³ÉÕâÒ»¹¤×÷,Õâ¸ö¹¦Äܵĺô¦×ÔÈ»²»ÑÔ¶øÓ÷.
&nb ......
MySQL±ØÒªÊ±×Ô¶¯±ä»»Êý×ÖΪ×Ö·û´®£¬²¢ÇÒ·´¹ýÀ´Ò²Èç´Ë£º
mysql> SELECT 1+"1";
-> 2
mysql> SELECT CONCAT(2,' test');
-> '2 test'
Èç¹ûÄãÏëÒªÃ÷È·µØ±ä»»Ò»¸öÊý×Öµ½Ò»¸ö×Ö·û´®£¬°ÑËü×÷Ϊ²ÎÊý´«µÝµ½CONCAT()¡£
Èç¹û×Ö·û´® ......
ÐèÇó1£ºÔÚÒ»¸öselect ²éѯ¼¯ÖÐÔٴβéѯ
SELECT * from (SELECT field from table) AS alias
ÐèҪעÒâºóÃæµÄalias£¬ÔÚmysqlÖУ¬ÕâÊDZØÐëµÄ
ÐèÇó2£ºÒ»¸ö²éѯ¼¯µÄ½á¹û²»ÔÚÁíÒ»¸ö²éѯ¼¯ÖÐ
SELECT feild1 from table1 WHERE feild1 NOT IN (SELECT field2 from table2)
ÐèҪעÒ⣬ӦÓÃIN/NOT IN×Ó¾äʱ£¬±ØÐëÖ¸¶¨²éѯ×Ö¶ÎÃû£ ......
ǰע£º¶ÔÓÚÕë¶Ô×Ö·û´®Î»ÖõIJÙ×÷£¬µÚÒ»¸öλÖñ»±ê¼ÇΪ1¡£
ASCII(str) ·µ»Ø×Ö·û´®strµÄ×î×óÃæ×Ö·ûµÄASCII´úÂëÖµ¡£Èç¹ûstrÊÇ¿Õ×Ö·û´®£¬·µ»Ø0¡£Èç¹ûstrÊÇNULL£¬·µ»ØNULL¡£
mysql> select ASCII('2');
-> 50
mysql> select ASCII(2);
-> 50
mysql> select ASCII('dx');
-> 1 ......
¡¶oracle,db2,mysqlÀà±È¡·×÷ΪÈýÖÖÊý¾Ý¿âÒ»¸öÀà±È£¬Ä¿µÄÔÚÓÚͨ¹ýÀà±È£¬Á˽âÏÖÔÚÊý¾Ý¿âÏàËÆµãÓëÒìͬµã£¬Í¬Ê±¿ÉÒÔ°ïÖú´ó¼ÒÔÚÁ˽âÒ»ÖÖÊý¾Ý¿â£¬Äܹ»Ñ¸ËÙµØÑ§»áÆäËûÊý¾Ý¿â¡£³õ²½¶¨ÒåΪoracle,db2,mysqlÈýÖÖÊý¾Ý¿â£¬ÒÔºó¿ÉÄÜ»¹ÊÇ×·¼Óinformix,sysbase,sql serverµÈÊý¾Ý¿â¡£
±¾Æª×÷ΪÊׯª£¬Ä¿µÄÊÇÈôó¼Ò¶ÔÕâÈýÖÖÊý¾Ý¿â³£ÓõÄÖªÊ ......