mysql¼Ü¹¹·½°¸
Scale Out£ººáÏòÀ©Õ¹£¬Ôö¼Ó´¦Àí½ÚµãÌá¸ßÕûÌå´¦ÀíÄÜÁ¦
Scale Up£º×ÝÏòÀ©Õ¹£¬Í¨¹ýÌáÉýµ¥¸ö½ÚµãµÄ´¦ÀíÄÜÁ¦´ïµ½ÌáÉýÕûÌå´¦ÀíÄÜÁ¦µÄÄ¿µÄ
Replication
MySQLµÄreplicationÊÇÒì²½µÄ£¬ÊÊÓÃÓÚ¶ÔÊý¾ÝʵʱÐÔÒªÇó²»ÊÇÌØ±ð¹Ø¼üµÄ³¡¾°¡£slave¶ËµÄIOÏ̸߳ºÔð´Ómaster¶ÁÈ¡ÈÕÖ¾£¬SQLÏß ³ÌרߺÔðÔÚslave¶ËÓ¦ÓôÓmaster¶Á¹ýÀ´µÄÈÕÖ¾£¨ÔçÆÚMySQLÓÃÒ»¸öÏß³ÌʵÏÖ£¬ÐÔÄÜÎÊÌâ±È½ÏÃ÷ÏÔ£©¡£Ê¹ÓÃreplication±ØÐëÆôÓà binary log£¬MySQLÓÃbinary logÏòslave·Ö·¢¸üÐÂ
¸´ÖƼ¶±ð
1. Row Level£º5.1.5¿ªÊ¼Ö§³Ö¡£mater¼Ç¼ÿÐÐÊý¾ÝµÄ¸ü¸ÄÈÕÖ¾£¬slave¸ù¾ÝÈÕÖ¾ÖðÐÐÓ¦Óá£Óŵ㣺Êý¾ÝÒ»ÖÂÐÔ¸üÓб£ÕÏ¡£È±µã£º¿ÉÄÜÔì³ÉÈÕÖ¾Îļþ±È½Ï´ó
2. Statement Level£ºmaster¼Ç¼ÿ¸öÖ´ÐеÄqueryÓï¾äÒÔ¼°Ò»Ð©ÉÏÏÂÎÄÐÅÏ¢£¬slave½Úµã¸ù¾ÝÕâЩÐÅÏ¢ÖØÐÂÔÚslaveÉÏÖ´ÐС£Óŵ㣺binary log±È½ÏС¡£È±µã£ºÄ³Ð©Çé¿öÏÂÊý¾ÝÒ»ÖÂÐÔÄÑÒÔ±£ÕÏ
3. Mixed Level£ºMySQL¸ù¾ÝÇé¿öÑ¡ÔñÄÄÖÖ¸´ÖÆ·½Ê½¡£5.1.8¿ªÊ¼Ö§³Ö
³£Óüܹ¹
1. Master-Slaves£ºÍ¨³£¶¼²ÉÓÃÕâÖÖ·½Ê½
2. Dual Master(Master-Master)£º2¸ömaster½Úµã»¥Ïàͬ²½¸üС£ÒòΪMySQLµÄÒì²½¸´ÖÆ·½Ê½£¬ÎªÁË·ÀÖ¹Êý¾Ý³åÍ»Ôì³ÉµÄ²»Ò»ÖÂÐÔ£¬Ò»°ã ½ö½«ÆäÖÐһ̨ÓÃÓÚд²Ù×÷£¬Áíһ̨²»Óûò½öÓÃÓÚ¶Á²Ù×÷¡£Ä¿µÄÊÇÆäÖÐһ̨masterÍ£»úά»¤»òÕß¹ÊÕÏÖжÏʱ¿ÉÒÔʹÓÃÁíһ̨master
3. ¼¶Áª¸´ÖÆ(Master-Slaves-Slaves)£ºÔÚMaster SlavesÖУ¬Èç¹ûslaves¹ý¶àreplication½«Ôö¼ÓmasterµÄ¸ºÔØ£¬Õâʱ¿ÉÒÔÈÃmasterÖ»ÏòÆäÖм¸Ì¨slave·Ö·¢¸üÐÂÈÕÖ¾£¬Õâ ¼¸Ì¨slave×÷Ϊһ¼¶½ÚµãÔÙÏòϼ¶½Úµã·Ö·¢¸üÐÂÈÕÖ¾
Cluster
Ö÷Ҫͨ¹ýNDB Cluster´æ´¢ÒýÇæÊµÏÖ£¬ÊÇÒ»¸öShare NothingµÄ¼Ü¹¹£¬¸÷¸öMySQL ServerÖ®¼ä²¢²»ÐèÒª¹²ÏíÈκÎÊý¾Ý¡£¿ÉÒÔʵÏÖÈßÓࣨ¿É¿¿ÐÔ£©ÒÔ¼°¸ºÔؾùºâ¡£¸Õ¿ªÊ¼MySQLÐèÒªËùÓÐÊý¾ÝºÍË÷Òý¶¼Äܹ»¼ÓÔØµ½ÄÚ´æÖвÅÄÜʹÓà Cluster£¬¶ÔÄÚ´æÒªÇó¸ß£¬Ä¿Ç°Í¨¹ý¸Ä½øÖ»ÒªÇóË÷ÒýÄÜÈ«²¿¼ÓÔØµ½ÄÚ´æ
MySQL Clusrer¼Ü¹¹Ê¾Òâͼ£¬Í¼Æ¬À´×ÔMySQL¹Ù·½Îĵµ
1. SQL Nodes£º¸ºÔð´æ´¢²ãÖ®ÍâµÄÊÂÇ飬ÀýÈçÁ¬½Ó¹ÜÀí¡¢query´¦ÀíºÍÓÅ»¯¡¢cache¹ÜÀíµÈ£¬¼´°þÀëÁË´æ´¢²ãµÄMySQL·þÎñÆ÷
2. Data Nodes£º´æ´¢²ãµÄNDB½Úµã£¬¼´Cluster»·¾³ÏµĴ洢ÒýÇæ¡£Ã¿¸öcluster½Úµã±£´æÍêÕûÊý¾ÝµÄÒ»¸ö·ÖƬ£¬ÊÓ½ÚµãÊýÄ¿ºÍÅäÖöø¶¨£¬Ò»°ã data nodes±»×éÖ¯³ÉΪһ¸ö¸ögroup£¬Ã¿¸ögroup´æÓÐÒ»·ÝÍêÈ«ÏàͬµÄÎïÀíÊý¾Ý£¨ÈßÓࣩ¡£NDB´æ´¢ÒýÇæÊ×ÏȰ´ÕÕÈßÓà²ÎÊýÅäÖÃÀ´Ê¹Óô洢½Úµã£¬È»ºó¸ù ¾Ý½ÚµãÊýÄ¿¶ÔÊý¾Ý½øÐзֶÎ
3. Management Server£º¸ºÔðÕ
Ïà¹ØÎĵµ£º
ÕâÀïÊÇÒ»¸öʹÓÃÈÕÆÚº¯ÊýµÄÀý×Ó¡£ÏÂÃæµÄ²éѯѡÔñÁËËùÓмǼ£¬Æädate_colµÄÖµÊÇÔÚ×îºó30ÌìÒÔÄÚ£º
mysql> SELECT something from table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
DAYOFWEEK(date)
·µ»ØÈÕÆÚdateµÄÐÇÆÚË÷Òý(1=ÐÇÆÚÌ죬2=ÐÇÆÚÒ», ……7=ÐÇÆÚÁù)¡£ÕâЩË÷ÒýÖµ¶ÔÓ¦ÓÚODBC±ê ......
Ò»¡¢
¿ØÖÆÁ÷³Ìº¯Êý
a)
CASE WHEN THEN
º¯Êý
Óï·¨£º
CASE value WHEN [compare-value]
THEN result [WHEN [compare-value] THEN result ……] [ELSE result ] END CASE WHEN
[condition] THEN result [WHEN[condition] THEN result …… ......
Dos½øÈëMySqlµÄbinĿ¼,Ö´ÐУºmysqldump -hÔ¶³ÌÊý¾Ý¿âIP Êý¾Ý¿âÃû×Ö -uÔ¶³ÌÊý¾Ý¿âÓû§Ãû -pÔ¶³ÌÊý¾Ý¿âÃÜÂë --add-drop-table | mysql ±¾µØÊý¾Ý¿âÃû×Ö -u±¾µØÊý¾Ý¿âÓû§Ãû -p±¾µØÊý¾Ý¿âÃÜÂë
ÔÚ¾ÖÓòÍøÄÚ²âÊԳɹ¦ ......
<>ÕûÀíÁËÒÔÏÂËÄÖÖÔÚMySQLÖÐÐÞ¸ÄrootÃÜÂëµÄ·½·¨,¿ÉÄܶԴó¼ÒÓÐËù°ïÖú!
·½·¨1£º ÓÃSET PASSWORDÃüÁî
¡¡¡¡mysql -u root
¡¡¡¡mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
·½·¨2£ºÓÃmysqladmin
¡¡¡¡mysqladmin -u root password "newpass"
¡¡¡¡Èç¹ûrootÒѾÉèÖà ......
Ê×ÏÈÍ£Ö¹MySQL·þÎñ£ºsudo /etc/init.d/mysql stop
È»ºó±à¼MySQLÅäÖÃÎļþ£ºsudo gedit /etc/mysql/my.cnf
ÔÚmy.cnfÎļþÖеÄ[client]¶ÎÏÂÃæ¼ÓÈë
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
ÖØÐÂÆô¶¯MySQL·þÎñ ......