Ò»¡¢Êý¾Ý¿â½á¹¹¹æ»®
½ÇÉ«»ù±¾ÐÅÏ¢±í
±íÃû£ºÀýÈç “player_basic_info”¡£
×ֶΣº
“player_id”£ºÍæ¼ÒµÄΨһ±êʶ·û£¬Í¨³£ÎªÒ»¸ö×ÔÔöµÄÕûÊýÀàÐÍ£¨Èç INT£©£¬ÓÃÓÚÔÚÊý¾Ý¿âÖÐ×¼È·Çø·Öÿ¸öÍæ¼Ò¡£
“username”£ºÍæ¼ÒµÄÓû§Ãû£¬²ÉÓÃ×Ö·û´®ÀàÐÍ£¨Èç VARCHAR£©£¬²¢ÇÒÉèÖúÏÊʵij¤¶ÈÏÞÖÆ£¬Èç× 50 ¸ö×Ö·û£¬ÒÔ´æ´¢Íæ¼Ò×¢²áµÄÓû§Ãû¡£
“password”£ºÍæ¼ÒÃÜÂëµÄ´æ´¢×ֶΣ¬ÎªÁ˰²È«¿¼ÂÇ£¬Ò»°ã²ÉÓüÓÃܺóµÄ×Ö·û´®´æ´¢¡£³£¼ûµÄ¼ÓÃÜ·½Ê½ÓÐ MD5 »ò¸ü°²È«µÄ SHA - 256 µÈ¼ÓÃÜËã·¨£¬´æ´¢ÀàÐÍͬÑùΪ VARCHAR£¬¸ù¾Ý¼ÓÃܺóµÄ×Ö·û´®³¤¶ÈÈ·¶¨ºÏÊʵij¤¶È£¬Èç 64 λµÄ SHA - 256 ¼ÓÃܽá¹û¿ÉÒÔÉèÖà VARCHAR (64)¡£
“level”£º±íÊ¾Íæ¼Ò½ÇÉ«µÄµÈ¼¶£¬Ê¹ÓÃÕûÊýÀàÐÍ£¨Èç TINYINT »ò SMALLINT£¬¸ù¾ÝµÈ¼¶µÄȡֵ·¶Î§È·¶¨£¬Èç¹ûµÈ¼¶·¶Î§½ÏС£¬TINYINT ¾Í×ã¹»£¬È¡Öµ·¶Î§Îª - 128 µ½ 127£¬Èç¹ûµÈ¼¶¿ÉÄܽϸߣ¬¿ÉÑ¡Ôñ SMALLINT£¬È¡Öµ·¶Î§Îª - 32768 µ½ 32767£©¡£
“create_time”£º¼ÇÂ¼Íæ¼Ò½ÇÉ«´´½¨µÄʱ¼ä´Á£¬Êý¾ÝÀàÐÍΪ TIMESTAMP »ò DATETIME£¬TIMESTAMP Õ¼Óà 4 ¸ö×Ö½Ú£¬DATETIME Õ¼Óà 8 ¸ö×Ö½Ú£¬¿É¸ù¾ÝÐèÇóÑ¡Ôñ£¬ÓÃÓÚ¸ú×ÙÍæ¼ÒÕ˺ŵĴ´½¨ÀúÊ·¡£
“last_login_time”£º´æ´¢Íæ¼Ò×îºóÒ»´ÎµÇ¼ÓÎÏ·µÄʱ¼ä£¬Í¬Ñù¿ÉÒÔʹÓà TIMESTAMP »ò DATETIME ÀàÐÍ£¬ÕâÓÐÖúÓÚ·ÖÎöÍæ¼ÒµÄ»îÔ¾¶È¡£
½ÇÉ«ÊôÐÔ±í
±íÃû£º“player_attributes”¡£
×ֶΣº
“player_id”£ºÓë “player_basic_info” ±íÖÐµÄ “player_id” ¹ØÁª£¬½¨Á¢Íæ¼Ò»ù±¾ÐÅÏ¢Óë½ÇÉ«ÊôÐÔÖ®¼äµÄÁªÏµ£¬Êý¾ÝÀàÐÍΪ INT¡£
“health”£ºÍæ¼Ò½ÇÉ«µÄÉúÃüÖµ£¬¿É¸ù¾ÝÓÎÏ·ÖеÄÉúÃüÖµÉ趨ѡÔñºÏÊʵÄÊý¾ÝÀàÐÍ£¬Èç SMALLINT£¬Èç¹ûÉúÃüÖµ·¶Î§½Ï´ó£¬¿ÉÑ¡Ôñ INT ÀàÐÍ¡£
“mana”£º½ÇÉ«µÄħ·¨Öµ£¨Èç¹ûÓÎÏ·ÖÐÓÐħ·¨ÖµÉ趨£©£¬Êý¾ÝÀàÐ͵ÄÑ¡ÔñÀàËÆÓÚÉúÃüÖµ£¬¸ù¾Ýȡֵ·¶Î§È·¶¨Îª SMALLINT »ò INT¡£
“attack”£º½ÇÉ«µÄ¹¥»÷Á¦£¬ÕûÊýÀàÐÍ£¬Èç TINYINT »ò SMALLINT£¬È¡¾öÓÚ¹¥»÷Á¦µÄÊýÖµ·¶Î§¡£
“defense”£º½ÇÉ«µÄ·ÀÓùÁ¦£¬Í¬ÑùΪÕûÊýÀàÐÍ¡£
“speed”£º½ÇÉ«µÄÒÆ¶¯ËÙ¶È»òÕß¹¥»÷ËÙ¶È£¨¸ù¾ÝÓÎÏ·¾ßÌåÉ趨£©£¬¿ÉÒÔÊÇ TINYINT ÀàÐÍ¡£
½ÇÉ«±³°ü±í
±íÃû£º“player_backpack”¡£
×ֶΣº
“player_id”£º¹ØÁªÍæ¼Ò½ÇÉ«£¬Êý¾ÝÀàÐÍΪ INT¡£
“item_id”£ºÎïÆ·µÄΨһ±êʶ·û£¬INT ÀàÐÍ£¬Ã¿¸öÎïÆ·ÔÚÓÎÏ·Öж¼ÓÐÒ»¸öΨһµÄ±àºÅ¡£
“quantity”£ºÍæ¼Ò±³°üÖиÃÎïÆ·µÄÊýÁ¿£¬SMALLINT ÀàÐÍ£¬ÒòΪһ°ãÍæ¼Ò±³°üÖÐÎïÆ·ÊýÁ¿²»»áÌØ±ð¾Þ´ó£¬Èç¹ûÓÐÌØÊâÐèÇó¿Éµ÷ÕûΪ INT ÀàÐÍ¡£
½ÇÉ«ÈÎÎñ±í
±íÃû£º“player_tasks”¡£
×ֶΣº
“player_id”£ºINT ÀàÐÍ£¬ÓÃÓÚ¹ØÁªÍæ¼Ò¡£
“task_id”£ºÈÎÎñµÄΨһ±àºÅ£¬INT ÀàÐÍ£¬ÓÎÏ·ÖеÄÿ¸öÈÎÎñ¶¼ÓÐÒ»¸öÌØ¶¨µÄ±àºÅ¡£
“task_status”£º¿ÉÒÔʹÓà TINYINT ÀàÐÍÀ´±íʾÈÎÎñµÄ״̬£¬ÀýÈç 0 ±íʾδ½ÓÊÜ£¬1 ±íʾ½øÐÐÖУ¬2 ±íʾÒÑÍê³É¡£
“progress”£ºÈç¹ûÈÎÎñÓнø¶ÈÒªÇó£¬ÈçÊÕ¼¯Ò»¶¨ÊýÁ¿µÄÎïÆ·»òÕßɱËÀÒ»¶¨ÊýÁ¿µÄ¹ÖÎ¿ÉÒÔʹÓà SMALLINT ÀàÐÍÀ´±íʾÈÎÎñµÄµ±Ç°½ø¶È¡£
¶þ¡¢Êý¾Ý´æ´¢¹ý³Ì
½ÇÉ«´´½¨Ê±µÄÊý¾Ý´æ´¢
µ±Íæ¼Ò´´½¨½Çɫʱ£¬Ê×ÏÈÔÚ “player_basic_info” ±íÖвåÈëÒ»Ìõ¼Ç¼¡£ÀýÈ磬ʹÓÃÒÔÏ SQL Óï¾ä£º
INSERT INTO player_basic_info (username, password, level, create_time) VALUES ('test_user', 'encrypted_password', 1, NOW());
ÕâÀï¼ÙÉèÓû§ÃûÊÇ “test_user”£¬ÃÜÂë¾¹ý¼ÓÃܺóΪ “encrypted_password”£¬³õʼµÈ¼¶Îª 1£¬´´½¨Ê±¼äΪµ±Ç°Ê±¼ä£¨NOW () º¯ÊýÓÃÓÚ»ñÈ¡µ±Ç°µÄʱ¼ä´Á»òÈÕÆÚʱ¼ä£©¡£
ͬʱ£¬ÔÚ “player_attributes” ±íÖÐÒ²²åÈëÒ»ÌõÓëд´½¨½ÇÉ«Ïà¹ØµÄ¼Ç¼£¬³õʼÉúÃüÖµ¡¢Ä§·¨Öµ¡¢¹¥»÷Á¦¡¢·ÀÓùÁ¦ºÍËٶȵÈÊôÐÔ¸ù¾ÝÓÎÏ·µÄ³õʼÉ趨À´È·¶¨¡£ÀýÈ磺
INSERT INTO player_attributes (player_id, health, mana, attack, defense, speed) VALUES (last_insert_id(), 100, 50, 10, 5, 3);
ÕâÀïµÄ “last_insert_id ()” º¯ÊýÓÃÓÚ»ñÈ¡¸Õ¸ÕÔÚ “player_basic_info” ±íÖвåÈë¼Ç¼ʱ×Ô¶¯Éú³ÉµÄ “player_id” Öµ£¬È·±£Á½¸ö±íÖ®¼äµÄ¹ØÁªÕýÈ·¡£
ÔÚ “player_backpack” ±íÖУ¬³õʼʱ¿ÉÄÜΪ¿Õ£¬»òÕ߸ù¾ÝÓÎÏ·É趨²åÈëһЩ³õʼÎïÆ·£¬È磺
INSERT INTO player_backpack (player_id, item_id, quantity) VALUES (last_insert_id(), 1, 1);
±íʾ¸øÍæ¼Ò²åÈëÒ»¸ö±àºÅΪ 1 µÄÎïÆ·£¬ÊýÁ¿Îª 1¡£
Èç¹ûÓÎÏ·ÓгõʼÈÎÎñ£¬ÔÚ “player_tasks” ±íÖÐÒ²½øÐÐÏàÓ¦µÄ²åÈë²Ù×÷£¬ÀýÈ磺
INSERT INTO player_tasks (player_id, task_id, task_status, progress) VALUES (last_insert_id(), 1, 0, 0);
±íʾ¸øÍæ¼ÒÌí¼Ó±àºÅΪ 1 µÄÈÎÎñ£¬³õʼ״̬Ϊδ½ÓÊÜ£¬½ø¶ÈΪ 0¡£
ÓÎÏ·¹ý³ÌÖеÄÊý¾Ý¸üÐÂ
½ÇÉ«ÊôÐÔ¸üУºµ±Íæ¼ÒÔÚÓÎÏ·ÖÐÉý¼¶»òÕßͨ¹ý×°±¸¡¢¼¼ÄÜÌáÉýÊôÐÔʱ£¬ÀýÈçÍæ¼ÒµÄÉúÃüÖµÔö¼Ó£¬ÔÚ “player_attributes” ±íÖÐʹÓà UPDATE Óï¾ä½øÐиüС£È磺
UPDATE player_attributes SET health = health + 20 WHERE player_id = 123;
ÕâÀï¼ÙÉèÍæ¼ÒµÄ “player_id” Ϊ 123£¬½«ÆäÉúÃüÖµÔö¼Ó 20¡£
±³°üÎïÆ·¸üУºÈç¹ûÍæ¼ÒÔÚÓÎÏ·ÖлñµÃÐÂÎïÆ·»òÕßʹÓÃÎïÆ·£¬ÔÚ “player_backpack” ±íÖнøÐвÙ×÷¡£ÈçÍæ¼Ò»ñµÃÒ»¸ö±àºÅΪ 2 µÄÎïÆ·£¬ÊýÁ¿Îª 5£º
INSERT INTO player_backpack (player_id, item_id, quantity) VALUES (123, 2, 5) ON DUPLICATE KEY UPDATE quantity = quantity + 5;
ÕâÀïʹÓà “ON DUPLICATE KEY UPDATE” Óï¾äÊÇΪÁË´¦ÀíÍæ¼Ò±³°üÖÐÒѾ´æÔÚ¸ÃÎïÆ·µÄÇé¿ö£¬Èç¹û´æÔÚÔòÖ±½ÓÔö¼ÓÊýÁ¿¡£
ÈÎÎñ״̬¸üУºµ±Íæ¼Ò½ÓÊÜ¡¢½øÐлòÕßÍê³ÉÈÎÎñʱ£¬ÔÚ “player_tasks” ±íÖиüÐÂÈÎÎñ״̬ºÍ½ø¶È¡£ÀýÈçÍæ¼ÒÍê³ÉÁ˱àºÅΪ 1 µÄÈÎÎñ£º
UPDATE player_tasks SET task_status = 2, progress = 100 WHERE player_id = 123 AND task_id = 1;
Èý¡¢Êý¾Ý²éѯÓë¼ìË÷
²éÑ¯Íæ¼Ò»ù±¾ÐÅÏ¢
ÀýÈ磬Ҫ²éÑ¯Íæ¼ÒÃûΪ “test_user” µÄ»ù±¾ÐÅÏ¢£¬¿ÉÒÔʹÓÃÒÔÏ SQL Óï¾ä£º
SELECT * FROM player_basic_info WHERE username = 'test_user';
Èç¹ûÖ»ÐèÒª²éѯ²¿·ÖÐÅÏ¢£¬ÈçÓû§Ãû¡¢µÈ¼¶ºÍ×îºóµÇ¼ʱ¼ä£¬¿ÉÒÔʹÓãº
SELECT username, level, last_login_time FROM player_basic_info WHERE username = 'test_user';
²éѯ½ÇÉ«ÊôÐÔ
Òª²éѯ “player_id” Ϊ 123 µÄ½ÇÉ«ÊôÐÔ£¬¿ÉÒÔʹÓãº
SELECT * FROM player_attributes WHERE player_id = 123;
²éѯ±³°üÎïÆ·
ÀýÈç²éѯ “player_id” Ϊ 123 µÄÍæ¼Ò±³°üÖеÄËùÓÐÎïÆ·ÐÅÏ¢£º
SELECT * FROM player_backpack WHERE player_id = 123;
Èç¹ûÒª²éѯ±³°üÖÐÌØ¶¨ÎïÆ·µÄÊýÁ¿£¬ÈçÎïÆ·±àºÅΪ 2 µÄÊýÁ¿£º
SELECT quantity FROM player_backpack WHERE player_id = 123 AND item_id = 2;
²éѯÈÎÎñ״̬
²éѯ “player_id” Ϊ 123 µÄÍæ¼ÒÈÎÎñ±àºÅΪ 1 µÄÈÎÎñ״̬£º
SELECT task_status FROM player_tasks WHERE player_id = 123 AND task_id = 1;
´«ÆæÓÎÏ·ÔÚ¼ÜÉè¹ý³ÌÖУ¬MySQL Êý¾Ý¿âÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óã¬ÓÃÓÚ´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý¡£ÒÔÏÂÊÇ¶ÔÆä´æ´¢»úÖÆµÄ½âÎö¡£
Ê×ÏÈ£¬ÔÚ´«ÆæË½ÈË·þÎñÆ÷´î½¨µÄ»ù±¾½Ì³ÌÖУ¬Ã÷È·Ìáµ½´«ÆæË½ÈË·þÎñÆ÷µÄ´î½¨ÐèÒªÒÀÀµ MySQL Êý¾Ý¿â¡£ÔÚ×¼±¸»·¾³½×¶Î£¬Íæ¼ÒÐèҪ׼±¸Ò»Ì¨ VPS£¬ÆäÓ²¼þÅäÖÃÒªÄÜÖ§³Ö MySQL ºÍ Apache¡£°²×° MySQL Êý¾Ý¿âʱ£¬Íæ¼Ò¿ÉÒÔÖ±½Ó´Ó MySQL ¹ÙÍøÏÂÔØ°²×°°ü£¬È»ºó¸ù¾ÝÌáʾ½øÐа²×°£¬ÔÚ°²×°¹ý³ÌÖÐÐè×¢Òâ¹´Ñ¡°²×°±ØÒªµÄÄ£¿é£¬ÒÔÃâ³öÏÖ°²×°ºóÎÞ·¨Õý³£Ê¹ÓõÄÇé¿ö¡£
´Ó´«ÆæÈçºÎÌí¼Ó×ۺϷþÎñÆ÷µÄÄÚÈÝÀ´¿´£¬Ìí¼Ó×ۺϷþÎñÆ÷ÐèÒªÓд«ÆæÓÎÏ·µÄ°²×°ÎļþºÍÊý¾Ý¿âÎļþ£¬½«Êý¾Ý¿âÎļþµ¼Èëµ½·þÎñÆ÷µÄÊý¾Ý¿âÖУ¬È·±£ÓÎÏ·Êý¾Ý¿ÉÒÔÕý³£¶ÁÈ¡¡£
ÔÚ´«Ææ·þÎñÆ÷ÓÐʲôҪÇóÖÐÌáµ½£¬´«Ææ·þÎñÆ÷ÐèҪʹÓÃÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý£¬³£ÓõÄÊý¾Ý¿âÈí¼þ°üÀ¨ MySQL µÈ¡£·þÎñÆ÷Ó¦ÅäÖÃÊʵ±µÄÊý¾Ý¿â£¬²¢±£Ö¤Êý¾Ý¿âµÄÎȶ¨ÐԺ͸ßÐÔÄÜ¡£
´«ÆæÓõÄÊÇʲôÊý¾Ý¿âµÄÄÚÈÝÖ¸³ö£¬´«ÆæÓÎϷʹÓõÄÊý¾Ý¿âÖ÷ÒªÓÐ MySQL¡¢SQL Server ºÍ Oracle£¬ÆäÖÐ×î³£ÓõÄÊÇ MySQL¡£MySQL µÄ¸ßÐÔÄÜÌØ±ðÊʺϴ¦ÀíÓÎÏ·ÖдóÁ¿µÄÓû§Êý¾ÝºÍʵʱÊý¾Ý²Ù×÷£¬ÀýÈçÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£ÆäÖ§³Ö¶àÏ̵߳ÄÌØÐÔÄܹ»ÓÐЧµØÌá¸ßÊý¾Ý¿âµÄ´¦ÀíËÙ¶È£¬Âú×ãÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇó¡£
×ÛÉÏËùÊö£¬ÔÚ´«Ææ¼ÜÉèÖУ¬MySQL Êý¾Ý¿âͨ¹ý°²×°Ìض¨µÄ°²×°°ü£¬²¢½øÐÐÕýÈ·µÄÅäÖú͹´Ñ¡±ØÒªÄ£¿é£¬Îª´«ÆæÓÎÏ·´æ´¢Íæ¼ÒµÄ¸÷ÖÖÓÎÏ·Êý¾Ý£¬°üÀ¨µ«²»ÏÞÓÚÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£Æä¸ßÐÔÄܺͶàÏß³ÌÌØÐÔʹµÃËüÄܹ»Ó¦¶Ô´«ÆæÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇ󣬱£Ö¤ÓÎÏ·Êý¾ÝµÄÎȶ¨´æ´¢ºÍ¿ìËÙ¶ÁÈ¡£¬ÎªÍæ¼ÒÌṩÁ¼ºÃµÄÓÎÏ·ÌåÑé¡£
### ´«Ææ¼ÜÉèÖÐ MySQL °²×°½Ì³Ì
MySQL µÄ°²×°ÔÚ´«Ææ¼ÜÉèÖÐÖÁ¹ØÖØÒª¡£Ê×ÏÈ£¬ÐèÒªÏÂÔØ MySQL °²×°°ü£¬¿ÉÒÔ´Ó¹Ù·½ÍøÕ¾»ñÈ¡¡£ÏÂÔØÍê³Éºó£¬½øÐа²×°²Ù×÷¡£ÔÚ°²×°¹ý³ÌÖУ¬Òª×¢ÒâÉèÖúð²×°Â·¾¶µÈ²ÎÊý¡£°²×°Íê³Éºó£¬ÉèÖà MySQL µÄ root ÃÜÂ룬ÀýÈçʹÓÃÃüÁî“mysqladmin -u root password 'yourpassword'”£¬Õ⽫Ϊ root Óû§ÉèÖÃÃÜÂë¡£½Ó×Å£¬¿ÉÒÔ´´½¨ÐÂÊý¾Ý¿â£¬Ê¹ÓÃÃüÁî“CREATE DATABASE yourdatabase;”¡£È»ºó´´½¨ÐÂÓû§²¢ÊÚȨÆä¶ÔÊý¾Ý¿âµÄ²Ù×÷ȨÏÞ£¬Èç“CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'userpassword';GRANT ALL PRIVILEGES ON yourdatabase.* TO 'newuser'@'localhost';”¡£×îºó£¬Ê¹ÓÃÃüÁî“mysql -u newuser -p yourdatabase”Á¬½Óµ½Êý¾Ý¿â½øÐвâÊÔ£¬Èç¹ûÄܹ»³É¹¦Á¬½Ó²¢½øÈëÊý¾Ý¿âÃüÁîÐУ¬Ôò±íʾÉèÖóɹ¦¡£
×ܵÄÀ´Ëµ£¬MySQL µÄ°²×°ÐèÒª°´ÕÕÒ»¶¨µÄ²½Öè½øÐУ¬È·±£Ã¿Ò»²½¶¼ÕýÈ·²Ù×÷£¬²ÅÄÜΪ´«Ææ¼ÜÉèÌṩÎȶ¨µÄÊý¾Ý¿âÖ§³Ö¡£
### ´«Ææ·þÎñÆ÷¶Ô MySQL µÄÒªÇó
´«Ææ·þÎñÆ÷¶Ô MySQL ÓÐÒ»¶¨µÄÒªÇó¡£Ê×ÏÈ£¬ÔÚÓ²¼þ·½Ã棬´«Ææ·þÎñÆ÷ÊÇÒ»¸öÐèÒª´óÁ¿¼ÆËãºÍ´æ´¢×ÊÔ´µÄÓÎÏ··þÎñÆ÷£¬MySQL ÐèÒª¾ß±¸½Ï¸ßµÄÓ²¼þÅäÖÃÀ´Ö§³Ö¡£Í¨³£À´Ëµ£¬·þÎñÆ÷Ó¦ÖÁÉÙ¾ßÓÐ 4 ºËÐÄÒÔÉϵĴ¦ÀíÆ÷£¬16GB ÒÔÉϵÄÄÚ´æºÍ 500GB ÒÔÉϵÄÓ²Å̿ռ䣬ÒÔÈ·±£ MySQL Äܹ»Îȶ¨ÔËÐв¢´æ´¢´óÁ¿µÄÍæ¼ÒÓÎÏ·Êý¾Ý¡£
ÔÚÍøÂçÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèÒªÎȶ¨µÄÍøÂçÁ¬½Ó£¬ÒÔÈ·±£Íæ¼ÒÔÚÓÎÏ·ÖеÄÌåÑé¡£MySQL ËùÔڵķþÎñÆ÷Ó¦Á¬½Óµ½¸ßËÙ¡¢¿É¿¿µÄÍøÂ磬²¢¾ß±¸½Ï¸ßµÄ´ø¿í£¬ÒÔ±ã¿ìËÙÏìÓ¦ÓÎÏ··þÎñÆ÷µÄÇëÇ󣬼°Ê±¶ÁÈ¡ºÍдÈëÍæ¼ÒÓÎÏ·Êý¾Ý¡£
ÔÚ²Ù×÷ϵͳҪÇóÉÏ£¬´«Ææ·þÎñÆ÷¿ÉÒÔÔÚ²»Í¬µÄ²Ù×÷ϵͳÉÏÔËÐУ¬MySQL Ò²ÐèÒªÊÊÓ¦ÕâЩ²Ù×÷ϵͳ¡£ÔËÐд«Ææ·þÎñÆ÷µÄ²Ù×÷ϵͳӦÊÇÎȶ¨¡¢°²È«²¢ÇÒÄܹ»ÌṩÁ¼ºÃµÄÐÔÄÜ£¬³£¼ûµÄÓÐ Windows¡¢Linux ºÍ FreeBSD µÈ¡£MySQL ÐèÒªÔÚÕâЩ²Ù×÷ϵͳÉϽøÐа²×°ºÍÅäÖã¬È·±£Óë´«Ææ·þÎñÆ÷µÄ¼æÈÝÐÔ¡£
ÔÚÊý¾Ý¿âÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèҪʹÓÃÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý£¬MySQL Êdz£ÓõÄÊý¾Ý¿âÖ®Ò»¡£·þÎñÆ÷Ó¦ÅäÖÃÊʵ±µÄ MySQL Êý¾Ý¿â£¬²¢±£Ö¤Êý¾Ý¿âµÄÎȶ¨ÐԺ͸ßÐÔÄÜ¡£Õâ°üÀ¨ºÏÀíÉèÖÃÊý¾Ý¿â²ÎÊý¡¢½¨Á¢Ë÷Òý¡¢ÓÅ»¯²éѯÓï¾äµÈ£¬ÒÔÌá¸ßÊý¾ÝµÄ¶ÁдËٶȺÍÏìӦʱ¼ä¡£
ÔÚ°²È«ÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèÒª¾ß±¸Ò»¶¨µÄ°²È«»úÖÆÀ´±£»¤Íæ¼ÒµÄÕ˺źÍÓÎÏ·Êý¾Ý£¬MySQL Ò²ÐèÒª¼ÓÇ¿°²È«·À»¤¡£·þÎñÆ÷Ó¦°²×°·À»ðǽ¡¢É±¶¾Èí¼þµÈ°²È«Èí¼þ£¬²¢½øÐж¨ÆÚµÄ°²È«Â©¶´É¨ÃèºÍϵͳ¸üС£Í¬Ê±£¬¶Ô MySQL Êý¾Ý¿â½øÐÐȨÏÞ¹ÜÀí£¬ÏÞÖÆÓû§µÄ·ÃÎÊȨÏÞ£¬·ÀÖ¹Êý¾Ýй¶ºÍÎó²Ù×÷¡£
### ´«Ææ³£ÓÃÊý¾Ý¿âÓÐÄÄЩ
´«ÆæÓÎÏ·³£ÓõÄÊý¾Ý¿âÖ÷ÒªÓÐ MySQL¡£MySQL ×÷Ϊ¿ªÔ´Êý¾Ý¿â£¬¾ßÓиßÐÔÄÜ¡¢Ò×ÓÃÐÔ¡¢¿çƽ̨ºÍµÍ³É±¾µÄÓÅÊÆ£¬Ê¹Æä³ÉΪÐí¶àÓÎÏ·¿ª·¢ÍŶӵÄÊ×Ñ¡¡£MySQL µÄ¸ßÐÔÄÜÌØ±ðÊʺϴ¦ÀíÓÎÏ·ÖдóÁ¿µÄÓû§Êý¾ÝºÍʵʱÊý¾Ý²Ù×÷£¬ÀýÈçÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£ÆäÖ§³Ö¶àÏ̵߳ÄÌØÐÔÄܹ»ÓÐЧµØÌá¸ßÊý¾Ý¿âµÄ´¦ÀíËÙ¶È£¬Âú×ãÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇó¡£
³ýÁË MySQL£¬Ò»Ð©´óÐÍÆóÒµ¼¶ÏîÄ¿¿ÉÄܸüÇãÏòÓÚÑ¡Ôñ¹¦ÄܸüΪǿ´óµÄ SQL Server »ò Oracle¡£Oracle ÔÚÀ©Õ¹ÐÔºÍά»¤³É±¾·½Ãæ±íÏÖÍ»³ö£¬Êʺϳ¬´ó¹æÄ£µÄÓÎÏ·ÏîÄ¿¡£¶ø NoSQL Êý¾Ý¿âÈç MongoDB¡¢Cassandra µÈ£¬ÒÔÆäÁé»îµÄ´æ´¢½á¹¹ºÍ¸ßÀ©Õ¹ÐÔ£¬ÊÊÓÃÓÚ´ó¹æÄ£Êý¾ÝºÍ¸ß²¢·¢³¡¾°£¬Î´À´ÔÚÓÎÏ·¿ª·¢ÖеÄÓ¦ÓÃǰ¾°¹ãÀ«¡£
×ÛÉÏËùÊö£¬´«ÆæÓÎÏ·ÔÚÑ¡ÔñÊý¾Ý¿âʱ£¬ÐèÒª¸ù¾ÝÏîÄ¿µÄ¹æÄ£¡¢ÐèÇóºÍÔ¤ËãµÈÒòËØ½øÐÐ×ۺϿ¼ÂÇ¡£²»Í¬µÄÊý¾Ý¿â¸÷ÓÐÓÅȱµã£¬¿ª·¢ÍŶÓÐèÒª¸ù¾Ýʵ¼ÊÇé¿öÑ¡Ôñ×îÊʺϵÄÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒÓÎÏ·Êý¾Ý¡£
´«Ææ¼ÜÉèÖÐʹÓà MySQL Êý¾Ý¿â´æ´¢Íæ¼ÒÓÎÏ·Êý¾ÝÊÇÒ»¸ö¸´ÔÓ¶ø¹Ø¼üµÄ¹ý³Ì¡£MySQL µÄ°²×°½Ì³ÌÐèÒªÑϸñ°´ÕÕ²½Öè½øÐУ¬ÒÔÈ·±£Êý¾Ý¿âµÄÕý³£ÔËÐС£´«Ææ·þÎñÆ÷¶Ô MySQL ÓÐÓ²¼þ¡¢ÍøÂç¡¢²Ù×÷ϵͳ¡¢Êý¾Ý¿âºÍ°²È«µÈ¶à·½ÃæµÄÒªÇó£¬Ö»ÓÐÂú×ãÕâЩҪÇ󣬲ÅÄÜÎªÍæ¼ÒÌṩÎȶ¨¡¢Á÷³©µÄÓÎÏ·ÌåÑ顣ͬʱ£¬´«ÆæÓÎÏ·Ò²¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÑ¡ÔñÆäËûÊý¾Ý¿â£¬Èç SQL Server¡¢Oracle¡¢MongoDB µÈ£¬ÒÔÂú×㲻ͬµÄÐèÇó¡£ÔÚδÀ´£¬Ëæ×ÅÓÎÏ·ÐÐÒµµÄ²»¶Ï·¢Õ¹£¬Êý¾Ý¿â¼¼ÊõÒ²½«²»¶Ï½ø²½£¬Îª´«ÆæÓÎÏ·µÄ·¢Õ¹Ìṩ¸üÇ¿´óµÄÖ§³Ö¡£
½ÇÉ«»ù±¾ÐÅÏ¢±í
±íÃû£ºÀýÈç “player_basic_info”¡£
×ֶΣº
“player_id”£ºÍæ¼ÒµÄΨһ±êʶ·û£¬Í¨³£ÎªÒ»¸ö×ÔÔöµÄÕûÊýÀàÐÍ£¨Èç INT£©£¬ÓÃÓÚÔÚÊý¾Ý¿âÖÐ×¼È·Çø·Öÿ¸öÍæ¼Ò¡£
“username”£ºÍæ¼ÒµÄÓû§Ãû£¬²ÉÓÃ×Ö·û´®ÀàÐÍ£¨Èç VARCHAR£©£¬²¢ÇÒÉèÖúÏÊʵij¤¶ÈÏÞÖÆ£¬Èç× 50 ¸ö×Ö·û£¬ÒÔ´æ´¢Íæ¼Ò×¢²áµÄÓû§Ãû¡£
“password”£ºÍæ¼ÒÃÜÂëµÄ´æ´¢×ֶΣ¬ÎªÁ˰²È«¿¼ÂÇ£¬Ò»°ã²ÉÓüÓÃܺóµÄ×Ö·û´®´æ´¢¡£³£¼ûµÄ¼ÓÃÜ·½Ê½ÓÐ MD5 »ò¸ü°²È«µÄ SHA - 256 µÈ¼ÓÃÜËã·¨£¬´æ´¢ÀàÐÍͬÑùΪ VARCHAR£¬¸ù¾Ý¼ÓÃܺóµÄ×Ö·û´®³¤¶ÈÈ·¶¨ºÏÊʵij¤¶È£¬Èç 64 λµÄ SHA - 256 ¼ÓÃܽá¹û¿ÉÒÔÉèÖà VARCHAR (64)¡£
“level”£º±íÊ¾Íæ¼Ò½ÇÉ«µÄµÈ¼¶£¬Ê¹ÓÃÕûÊýÀàÐÍ£¨Èç TINYINT »ò SMALLINT£¬¸ù¾ÝµÈ¼¶µÄȡֵ·¶Î§È·¶¨£¬Èç¹ûµÈ¼¶·¶Î§½ÏС£¬TINYINT ¾Í×ã¹»£¬È¡Öµ·¶Î§Îª - 128 µ½ 127£¬Èç¹ûµÈ¼¶¿ÉÄܽϸߣ¬¿ÉÑ¡Ôñ SMALLINT£¬È¡Öµ·¶Î§Îª - 32768 µ½ 32767£©¡£
“create_time”£º¼ÇÂ¼Íæ¼Ò½ÇÉ«´´½¨µÄʱ¼ä´Á£¬Êý¾ÝÀàÐÍΪ TIMESTAMP »ò DATETIME£¬TIMESTAMP Õ¼Óà 4 ¸ö×Ö½Ú£¬DATETIME Õ¼Óà 8 ¸ö×Ö½Ú£¬¿É¸ù¾ÝÐèÇóÑ¡Ôñ£¬ÓÃÓÚ¸ú×ÙÍæ¼ÒÕ˺ŵĴ´½¨ÀúÊ·¡£
“last_login_time”£º´æ´¢Íæ¼Ò×îºóÒ»´ÎµÇ¼ÓÎÏ·µÄʱ¼ä£¬Í¬Ñù¿ÉÒÔʹÓà TIMESTAMP »ò DATETIME ÀàÐÍ£¬ÕâÓÐÖúÓÚ·ÖÎöÍæ¼ÒµÄ»îÔ¾¶È¡£
½ÇÉ«ÊôÐÔ±í
±íÃû£º“player_attributes”¡£
×ֶΣº
“player_id”£ºÓë “player_basic_info” ±íÖÐµÄ “player_id” ¹ØÁª£¬½¨Á¢Íæ¼Ò»ù±¾ÐÅÏ¢Óë½ÇÉ«ÊôÐÔÖ®¼äµÄÁªÏµ£¬Êý¾ÝÀàÐÍΪ INT¡£
“health”£ºÍæ¼Ò½ÇÉ«µÄÉúÃüÖµ£¬¿É¸ù¾ÝÓÎÏ·ÖеÄÉúÃüÖµÉ趨ѡÔñºÏÊʵÄÊý¾ÝÀàÐÍ£¬Èç SMALLINT£¬Èç¹ûÉúÃüÖµ·¶Î§½Ï´ó£¬¿ÉÑ¡Ôñ INT ÀàÐÍ¡£
“mana”£º½ÇÉ«µÄħ·¨Öµ£¨Èç¹ûÓÎÏ·ÖÐÓÐħ·¨ÖµÉ趨£©£¬Êý¾ÝÀàÐ͵ÄÑ¡ÔñÀàËÆÓÚÉúÃüÖµ£¬¸ù¾Ýȡֵ·¶Î§È·¶¨Îª SMALLINT »ò INT¡£
“attack”£º½ÇÉ«µÄ¹¥»÷Á¦£¬ÕûÊýÀàÐÍ£¬Èç TINYINT »ò SMALLINT£¬È¡¾öÓÚ¹¥»÷Á¦µÄÊýÖµ·¶Î§¡£
“defense”£º½ÇÉ«µÄ·ÀÓùÁ¦£¬Í¬ÑùΪÕûÊýÀàÐÍ¡£
“speed”£º½ÇÉ«µÄÒÆ¶¯ËÙ¶È»òÕß¹¥»÷ËÙ¶È£¨¸ù¾ÝÓÎÏ·¾ßÌåÉ趨£©£¬¿ÉÒÔÊÇ TINYINT ÀàÐÍ¡£
½ÇÉ«±³°ü±í
±íÃû£º“player_backpack”¡£
×ֶΣº
“player_id”£º¹ØÁªÍæ¼Ò½ÇÉ«£¬Êý¾ÝÀàÐÍΪ INT¡£
“item_id”£ºÎïÆ·µÄΨһ±êʶ·û£¬INT ÀàÐÍ£¬Ã¿¸öÎïÆ·ÔÚÓÎÏ·Öж¼ÓÐÒ»¸öΨһµÄ±àºÅ¡£
“quantity”£ºÍæ¼Ò±³°üÖиÃÎïÆ·µÄÊýÁ¿£¬SMALLINT ÀàÐÍ£¬ÒòΪһ°ãÍæ¼Ò±³°üÖÐÎïÆ·ÊýÁ¿²»»áÌØ±ð¾Þ´ó£¬Èç¹ûÓÐÌØÊâÐèÇó¿Éµ÷ÕûΪ INT ÀàÐÍ¡£
½ÇÉ«ÈÎÎñ±í
±íÃû£º“player_tasks”¡£
×ֶΣº
“player_id”£ºINT ÀàÐÍ£¬ÓÃÓÚ¹ØÁªÍæ¼Ò¡£
“task_id”£ºÈÎÎñµÄΨһ±àºÅ£¬INT ÀàÐÍ£¬ÓÎÏ·ÖеÄÿ¸öÈÎÎñ¶¼ÓÐÒ»¸öÌØ¶¨µÄ±àºÅ¡£
“task_status”£º¿ÉÒÔʹÓà TINYINT ÀàÐÍÀ´±íʾÈÎÎñµÄ״̬£¬ÀýÈç 0 ±íʾδ½ÓÊÜ£¬1 ±íʾ½øÐÐÖУ¬2 ±íʾÒÑÍê³É¡£
“progress”£ºÈç¹ûÈÎÎñÓнø¶ÈÒªÇó£¬ÈçÊÕ¼¯Ò»¶¨ÊýÁ¿µÄÎïÆ·»òÕßɱËÀÒ»¶¨ÊýÁ¿µÄ¹ÖÎ¿ÉÒÔʹÓà SMALLINT ÀàÐÍÀ´±íʾÈÎÎñµÄµ±Ç°½ø¶È¡£
¶þ¡¢Êý¾Ý´æ´¢¹ý³Ì
½ÇÉ«´´½¨Ê±µÄÊý¾Ý´æ´¢
µ±Íæ¼Ò´´½¨½Çɫʱ£¬Ê×ÏÈÔÚ “player_basic_info” ±íÖвåÈëÒ»Ìõ¼Ç¼¡£ÀýÈ磬ʹÓÃÒÔÏ SQL Óï¾ä£º
INSERT INTO player_basic_info (username, password, level, create_time) VALUES ('test_user', 'encrypted_password', 1, NOW());
ÕâÀï¼ÙÉèÓû§ÃûÊÇ “test_user”£¬ÃÜÂë¾¹ý¼ÓÃܺóΪ “encrypted_password”£¬³õʼµÈ¼¶Îª 1£¬´´½¨Ê±¼äΪµ±Ç°Ê±¼ä£¨NOW () º¯ÊýÓÃÓÚ»ñÈ¡µ±Ç°µÄʱ¼ä´Á»òÈÕÆÚʱ¼ä£©¡£
ͬʱ£¬ÔÚ “player_attributes” ±íÖÐÒ²²åÈëÒ»ÌõÓëд´½¨½ÇÉ«Ïà¹ØµÄ¼Ç¼£¬³õʼÉúÃüÖµ¡¢Ä§·¨Öµ¡¢¹¥»÷Á¦¡¢·ÀÓùÁ¦ºÍËٶȵÈÊôÐÔ¸ù¾ÝÓÎÏ·µÄ³õʼÉ趨À´È·¶¨¡£ÀýÈ磺
INSERT INTO player_attributes (player_id, health, mana, attack, defense, speed) VALUES (last_insert_id(), 100, 50, 10, 5, 3);
ÕâÀïµÄ “last_insert_id ()” º¯ÊýÓÃÓÚ»ñÈ¡¸Õ¸ÕÔÚ “player_basic_info” ±íÖвåÈë¼Ç¼ʱ×Ô¶¯Éú³ÉµÄ “player_id” Öµ£¬È·±£Á½¸ö±íÖ®¼äµÄ¹ØÁªÕýÈ·¡£
ÔÚ “player_backpack” ±íÖУ¬³õʼʱ¿ÉÄÜΪ¿Õ£¬»òÕ߸ù¾ÝÓÎÏ·É趨²åÈëһЩ³õʼÎïÆ·£¬È磺
INSERT INTO player_backpack (player_id, item_id, quantity) VALUES (last_insert_id(), 1, 1);
±íʾ¸øÍæ¼Ò²åÈëÒ»¸ö±àºÅΪ 1 µÄÎïÆ·£¬ÊýÁ¿Îª 1¡£
Èç¹ûÓÎÏ·ÓгõʼÈÎÎñ£¬ÔÚ “player_tasks” ±íÖÐÒ²½øÐÐÏàÓ¦µÄ²åÈë²Ù×÷£¬ÀýÈ磺
INSERT INTO player_tasks (player_id, task_id, task_status, progress) VALUES (last_insert_id(), 1, 0, 0);
±íʾ¸øÍæ¼ÒÌí¼Ó±àºÅΪ 1 µÄÈÎÎñ£¬³õʼ״̬Ϊδ½ÓÊÜ£¬½ø¶ÈΪ 0¡£
ÓÎÏ·¹ý³ÌÖеÄÊý¾Ý¸üÐÂ
½ÇÉ«ÊôÐÔ¸üУºµ±Íæ¼ÒÔÚÓÎÏ·ÖÐÉý¼¶»òÕßͨ¹ý×°±¸¡¢¼¼ÄÜÌáÉýÊôÐÔʱ£¬ÀýÈçÍæ¼ÒµÄÉúÃüÖµÔö¼Ó£¬ÔÚ “player_attributes” ±íÖÐʹÓà UPDATE Óï¾ä½øÐиüС£È磺
UPDATE player_attributes SET health = health + 20 WHERE player_id = 123;
ÕâÀï¼ÙÉèÍæ¼ÒµÄ “player_id” Ϊ 123£¬½«ÆäÉúÃüÖµÔö¼Ó 20¡£
±³°üÎïÆ·¸üУºÈç¹ûÍæ¼ÒÔÚÓÎÏ·ÖлñµÃÐÂÎïÆ·»òÕßʹÓÃÎïÆ·£¬ÔÚ “player_backpack” ±íÖнøÐвÙ×÷¡£ÈçÍæ¼Ò»ñµÃÒ»¸ö±àºÅΪ 2 µÄÎïÆ·£¬ÊýÁ¿Îª 5£º
INSERT INTO player_backpack (player_id, item_id, quantity) VALUES (123, 2, 5) ON DUPLICATE KEY UPDATE quantity = quantity + 5;
ÕâÀïʹÓà “ON DUPLICATE KEY UPDATE” Óï¾äÊÇΪÁË´¦ÀíÍæ¼Ò±³°üÖÐÒѾ´æÔÚ¸ÃÎïÆ·µÄÇé¿ö£¬Èç¹û´æÔÚÔòÖ±½ÓÔö¼ÓÊýÁ¿¡£
ÈÎÎñ״̬¸üУºµ±Íæ¼Ò½ÓÊÜ¡¢½øÐлòÕßÍê³ÉÈÎÎñʱ£¬ÔÚ “player_tasks” ±íÖиüÐÂÈÎÎñ״̬ºÍ½ø¶È¡£ÀýÈçÍæ¼ÒÍê³ÉÁ˱àºÅΪ 1 µÄÈÎÎñ£º
UPDATE player_tasks SET task_status = 2, progress = 100 WHERE player_id = 123 AND task_id = 1;
Èý¡¢Êý¾Ý²éѯÓë¼ìË÷
²éÑ¯Íæ¼Ò»ù±¾ÐÅÏ¢
ÀýÈ磬Ҫ²éÑ¯Íæ¼ÒÃûΪ “test_user” µÄ»ù±¾ÐÅÏ¢£¬¿ÉÒÔʹÓÃÒÔÏ SQL Óï¾ä£º
SELECT * FROM player_basic_info WHERE username = 'test_user';
Èç¹ûÖ»ÐèÒª²éѯ²¿·ÖÐÅÏ¢£¬ÈçÓû§Ãû¡¢µÈ¼¶ºÍ×îºóµÇ¼ʱ¼ä£¬¿ÉÒÔʹÓãº
SELECT username, level, last_login_time FROM player_basic_info WHERE username = 'test_user';
²éѯ½ÇÉ«ÊôÐÔ
Òª²éѯ “player_id” Ϊ 123 µÄ½ÇÉ«ÊôÐÔ£¬¿ÉÒÔʹÓãº
SELECT * FROM player_attributes WHERE player_id = 123;
²éѯ±³°üÎïÆ·
ÀýÈç²éѯ “player_id” Ϊ 123 µÄÍæ¼Ò±³°üÖеÄËùÓÐÎïÆ·ÐÅÏ¢£º
SELECT * FROM player_backpack WHERE player_id = 123;
Èç¹ûÒª²éѯ±³°üÖÐÌØ¶¨ÎïÆ·µÄÊýÁ¿£¬ÈçÎïÆ·±àºÅΪ 2 µÄÊýÁ¿£º
SELECT quantity FROM player_backpack WHERE player_id = 123 AND item_id = 2;
²éѯÈÎÎñ״̬
²éѯ “player_id” Ϊ 123 µÄÍæ¼ÒÈÎÎñ±àºÅΪ 1 µÄÈÎÎñ״̬£º
SELECT task_status FROM player_tasks WHERE player_id = 123 AND task_id = 1;
´«ÆæÓÎÏ·ÔÚ¼ÜÉè¹ý³ÌÖУ¬MySQL Êý¾Ý¿âÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óã¬ÓÃÓÚ´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý¡£ÒÔÏÂÊÇ¶ÔÆä´æ´¢»úÖÆµÄ½âÎö¡£
Ê×ÏÈ£¬ÔÚ´«ÆæË½ÈË·þÎñÆ÷´î½¨µÄ»ù±¾½Ì³ÌÖУ¬Ã÷È·Ìáµ½´«ÆæË½ÈË·þÎñÆ÷µÄ´î½¨ÐèÒªÒÀÀµ MySQL Êý¾Ý¿â¡£ÔÚ×¼±¸»·¾³½×¶Î£¬Íæ¼ÒÐèҪ׼±¸Ò»Ì¨ VPS£¬ÆäÓ²¼þÅäÖÃÒªÄÜÖ§³Ö MySQL ºÍ Apache¡£°²×° MySQL Êý¾Ý¿âʱ£¬Íæ¼Ò¿ÉÒÔÖ±½Ó´Ó MySQL ¹ÙÍøÏÂÔØ°²×°°ü£¬È»ºó¸ù¾ÝÌáʾ½øÐа²×°£¬ÔÚ°²×°¹ý³ÌÖÐÐè×¢Òâ¹´Ñ¡°²×°±ØÒªµÄÄ£¿é£¬ÒÔÃâ³öÏÖ°²×°ºóÎÞ·¨Õý³£Ê¹ÓõÄÇé¿ö¡£
´Ó´«ÆæÈçºÎÌí¼Ó×ۺϷþÎñÆ÷µÄÄÚÈÝÀ´¿´£¬Ìí¼Ó×ۺϷþÎñÆ÷ÐèÒªÓд«ÆæÓÎÏ·µÄ°²×°ÎļþºÍÊý¾Ý¿âÎļþ£¬½«Êý¾Ý¿âÎļþµ¼Èëµ½·þÎñÆ÷µÄÊý¾Ý¿âÖУ¬È·±£ÓÎÏ·Êý¾Ý¿ÉÒÔÕý³£¶ÁÈ¡¡£
ÔÚ´«Ææ·þÎñÆ÷ÓÐʲôҪÇóÖÐÌáµ½£¬´«Ææ·þÎñÆ÷ÐèҪʹÓÃÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý£¬³£ÓõÄÊý¾Ý¿âÈí¼þ°üÀ¨ MySQL µÈ¡£·þÎñÆ÷Ó¦ÅäÖÃÊʵ±µÄÊý¾Ý¿â£¬²¢±£Ö¤Êý¾Ý¿âµÄÎȶ¨ÐԺ͸ßÐÔÄÜ¡£
´«ÆæÓõÄÊÇʲôÊý¾Ý¿âµÄÄÚÈÝÖ¸³ö£¬´«ÆæÓÎϷʹÓõÄÊý¾Ý¿âÖ÷ÒªÓÐ MySQL¡¢SQL Server ºÍ Oracle£¬ÆäÖÐ×î³£ÓõÄÊÇ MySQL¡£MySQL µÄ¸ßÐÔÄÜÌØ±ðÊʺϴ¦ÀíÓÎÏ·ÖдóÁ¿µÄÓû§Êý¾ÝºÍʵʱÊý¾Ý²Ù×÷£¬ÀýÈçÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£ÆäÖ§³Ö¶àÏ̵߳ÄÌØÐÔÄܹ»ÓÐЧµØÌá¸ßÊý¾Ý¿âµÄ´¦ÀíËÙ¶È£¬Âú×ãÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇó¡£
×ÛÉÏËùÊö£¬ÔÚ´«Ææ¼ÜÉèÖУ¬MySQL Êý¾Ý¿âͨ¹ý°²×°Ìض¨µÄ°²×°°ü£¬²¢½øÐÐÕýÈ·µÄÅäÖú͹´Ñ¡±ØÒªÄ£¿é£¬Îª´«ÆæÓÎÏ·´æ´¢Íæ¼ÒµÄ¸÷ÖÖÓÎÏ·Êý¾Ý£¬°üÀ¨µ«²»ÏÞÓÚÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£Æä¸ßÐÔÄܺͶàÏß³ÌÌØÐÔʹµÃËüÄܹ»Ó¦¶Ô´«ÆæÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇ󣬱£Ö¤ÓÎÏ·Êý¾ÝµÄÎȶ¨´æ´¢ºÍ¿ìËÙ¶ÁÈ¡£¬ÎªÍæ¼ÒÌṩÁ¼ºÃµÄÓÎÏ·ÌåÑé¡£
### ´«Ææ¼ÜÉèÖÐ MySQL °²×°½Ì³Ì
MySQL µÄ°²×°ÔÚ´«Ææ¼ÜÉèÖÐÖÁ¹ØÖØÒª¡£Ê×ÏÈ£¬ÐèÒªÏÂÔØ MySQL °²×°°ü£¬¿ÉÒÔ´Ó¹Ù·½ÍøÕ¾»ñÈ¡¡£ÏÂÔØÍê³Éºó£¬½øÐа²×°²Ù×÷¡£ÔÚ°²×°¹ý³ÌÖУ¬Òª×¢ÒâÉèÖúð²×°Â·¾¶µÈ²ÎÊý¡£°²×°Íê³Éºó£¬ÉèÖà MySQL µÄ root ÃÜÂ룬ÀýÈçʹÓÃÃüÁî“mysqladmin -u root password 'yourpassword'”£¬Õ⽫Ϊ root Óû§ÉèÖÃÃÜÂë¡£½Ó×Å£¬¿ÉÒÔ´´½¨ÐÂÊý¾Ý¿â£¬Ê¹ÓÃÃüÁî“CREATE DATABASE yourdatabase;”¡£È»ºó´´½¨ÐÂÓû§²¢ÊÚȨÆä¶ÔÊý¾Ý¿âµÄ²Ù×÷ȨÏÞ£¬Èç“CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'userpassword';GRANT ALL PRIVILEGES ON yourdatabase.* TO 'newuser'@'localhost';”¡£×îºó£¬Ê¹ÓÃÃüÁî“mysql -u newuser -p yourdatabase”Á¬½Óµ½Êý¾Ý¿â½øÐвâÊÔ£¬Èç¹ûÄܹ»³É¹¦Á¬½Ó²¢½øÈëÊý¾Ý¿âÃüÁîÐУ¬Ôò±íʾÉèÖóɹ¦¡£
×ܵÄÀ´Ëµ£¬MySQL µÄ°²×°ÐèÒª°´ÕÕÒ»¶¨µÄ²½Öè½øÐУ¬È·±£Ã¿Ò»²½¶¼ÕýÈ·²Ù×÷£¬²ÅÄÜΪ´«Ææ¼ÜÉèÌṩÎȶ¨µÄÊý¾Ý¿âÖ§³Ö¡£
### ´«Ææ·þÎñÆ÷¶Ô MySQL µÄÒªÇó
´«Ææ·þÎñÆ÷¶Ô MySQL ÓÐÒ»¶¨µÄÒªÇó¡£Ê×ÏÈ£¬ÔÚÓ²¼þ·½Ã棬´«Ææ·þÎñÆ÷ÊÇÒ»¸öÐèÒª´óÁ¿¼ÆËãºÍ´æ´¢×ÊÔ´µÄÓÎÏ··þÎñÆ÷£¬MySQL ÐèÒª¾ß±¸½Ï¸ßµÄÓ²¼þÅäÖÃÀ´Ö§³Ö¡£Í¨³£À´Ëµ£¬·þÎñÆ÷Ó¦ÖÁÉÙ¾ßÓÐ 4 ºËÐÄÒÔÉϵĴ¦ÀíÆ÷£¬16GB ÒÔÉϵÄÄÚ´æºÍ 500GB ÒÔÉϵÄÓ²Å̿ռ䣬ÒÔÈ·±£ MySQL Äܹ»Îȶ¨ÔËÐв¢´æ´¢´óÁ¿µÄÍæ¼ÒÓÎÏ·Êý¾Ý¡£
ÔÚÍøÂçÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèÒªÎȶ¨µÄÍøÂçÁ¬½Ó£¬ÒÔÈ·±£Íæ¼ÒÔÚÓÎÏ·ÖеÄÌåÑé¡£MySQL ËùÔڵķþÎñÆ÷Ó¦Á¬½Óµ½¸ßËÙ¡¢¿É¿¿µÄÍøÂ磬²¢¾ß±¸½Ï¸ßµÄ´ø¿í£¬ÒÔ±ã¿ìËÙÏìÓ¦ÓÎÏ··þÎñÆ÷µÄÇëÇ󣬼°Ê±¶ÁÈ¡ºÍдÈëÍæ¼ÒÓÎÏ·Êý¾Ý¡£
ÔÚ²Ù×÷ϵͳҪÇóÉÏ£¬´«Ææ·þÎñÆ÷¿ÉÒÔÔÚ²»Í¬µÄ²Ù×÷ϵͳÉÏÔËÐУ¬MySQL Ò²ÐèÒªÊÊÓ¦ÕâЩ²Ù×÷ϵͳ¡£ÔËÐд«Ææ·þÎñÆ÷µÄ²Ù×÷ϵͳӦÊÇÎȶ¨¡¢°²È«²¢ÇÒÄܹ»ÌṩÁ¼ºÃµÄÐÔÄÜ£¬³£¼ûµÄÓÐ Windows¡¢Linux ºÍ FreeBSD µÈ¡£MySQL ÐèÒªÔÚÕâЩ²Ù×÷ϵͳÉϽøÐа²×°ºÍÅäÖã¬È·±£Óë´«Ææ·þÎñÆ÷µÄ¼æÈÝÐÔ¡£
ÔÚÊý¾Ý¿âÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèҪʹÓÃÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒµÄÓÎÏ·Êý¾Ý£¬MySQL Êdz£ÓõÄÊý¾Ý¿âÖ®Ò»¡£·þÎñÆ÷Ó¦ÅäÖÃÊʵ±µÄ MySQL Êý¾Ý¿â£¬²¢±£Ö¤Êý¾Ý¿âµÄÎȶ¨ÐԺ͸ßÐÔÄÜ¡£Õâ°üÀ¨ºÏÀíÉèÖÃÊý¾Ý¿â²ÎÊý¡¢½¨Á¢Ë÷Òý¡¢ÓÅ»¯²éѯÓï¾äµÈ£¬ÒÔÌá¸ßÊý¾ÝµÄ¶ÁдËٶȺÍÏìӦʱ¼ä¡£
ÔÚ°²È«ÒªÇó·½Ã棬´«Ææ·þÎñÆ÷ÐèÒª¾ß±¸Ò»¶¨µÄ°²È«»úÖÆÀ´±£»¤Íæ¼ÒµÄÕ˺źÍÓÎÏ·Êý¾Ý£¬MySQL Ò²ÐèÒª¼ÓÇ¿°²È«·À»¤¡£·þÎñÆ÷Ó¦°²×°·À»ðǽ¡¢É±¶¾Èí¼þµÈ°²È«Èí¼þ£¬²¢½øÐж¨ÆÚµÄ°²È«Â©¶´É¨ÃèºÍϵͳ¸üС£Í¬Ê±£¬¶Ô MySQL Êý¾Ý¿â½øÐÐȨÏÞ¹ÜÀí£¬ÏÞÖÆÓû§µÄ·ÃÎÊȨÏÞ£¬·ÀÖ¹Êý¾Ýй¶ºÍÎó²Ù×÷¡£
### ´«Ææ³£ÓÃÊý¾Ý¿âÓÐÄÄЩ
´«ÆæÓÎÏ·³£ÓõÄÊý¾Ý¿âÖ÷ÒªÓÐ MySQL¡£MySQL ×÷Ϊ¿ªÔ´Êý¾Ý¿â£¬¾ßÓиßÐÔÄÜ¡¢Ò×ÓÃÐÔ¡¢¿çƽ̨ºÍµÍ³É±¾µÄÓÅÊÆ£¬Ê¹Æä³ÉΪÐí¶àÓÎÏ·¿ª·¢ÍŶӵÄÊ×Ñ¡¡£MySQL µÄ¸ßÐÔÄÜÌØ±ðÊʺϴ¦ÀíÓÎÏ·ÖдóÁ¿µÄÓû§Êý¾ÝºÍʵʱÊý¾Ý²Ù×÷£¬ÀýÈçÍæ¼ÒÐÅÏ¢¡¢×°±¸ÐÅÏ¢¡¢ÈÎÎñ¼Ç¼µÈ¡£ÆäÖ§³Ö¶àÏ̵߳ÄÌØÐÔÄܹ»ÓÐЧµØÌá¸ßÊý¾Ý¿âµÄ´¦ÀíËÙ¶È£¬Âú×ãÓÎÏ··þÎñÆ÷µÄ¸ß²¢·¢ÐèÇó¡£
³ýÁË MySQL£¬Ò»Ð©´óÐÍÆóÒµ¼¶ÏîÄ¿¿ÉÄܸüÇãÏòÓÚÑ¡Ôñ¹¦ÄܸüΪǿ´óµÄ SQL Server »ò Oracle¡£Oracle ÔÚÀ©Õ¹ÐÔºÍά»¤³É±¾·½Ãæ±íÏÖÍ»³ö£¬Êʺϳ¬´ó¹æÄ£µÄÓÎÏ·ÏîÄ¿¡£¶ø NoSQL Êý¾Ý¿âÈç MongoDB¡¢Cassandra µÈ£¬ÒÔÆäÁé»îµÄ´æ´¢½á¹¹ºÍ¸ßÀ©Õ¹ÐÔ£¬ÊÊÓÃÓÚ´ó¹æÄ£Êý¾ÝºÍ¸ß²¢·¢³¡¾°£¬Î´À´ÔÚÓÎÏ·¿ª·¢ÖеÄÓ¦ÓÃǰ¾°¹ãÀ«¡£
×ÛÉÏËùÊö£¬´«ÆæÓÎÏ·ÔÚÑ¡ÔñÊý¾Ý¿âʱ£¬ÐèÒª¸ù¾ÝÏîÄ¿µÄ¹æÄ£¡¢ÐèÇóºÍÔ¤ËãµÈÒòËØ½øÐÐ×ۺϿ¼ÂÇ¡£²»Í¬µÄÊý¾Ý¿â¸÷ÓÐÓÅȱµã£¬¿ª·¢ÍŶÓÐèÒª¸ù¾Ýʵ¼ÊÇé¿öÑ¡Ôñ×îÊʺϵÄÊý¾Ý¿âÀ´´æ´¢Íæ¼ÒÓÎÏ·Êý¾Ý¡£
´«Ææ¼ÜÉèÖÐʹÓà MySQL Êý¾Ý¿â´æ´¢Íæ¼ÒÓÎÏ·Êý¾ÝÊÇÒ»¸ö¸´ÔÓ¶ø¹Ø¼üµÄ¹ý³Ì¡£MySQL µÄ°²×°½Ì³ÌÐèÒªÑϸñ°´ÕÕ²½Öè½øÐУ¬ÒÔÈ·±£Êý¾Ý¿âµÄÕý³£ÔËÐС£´«Ææ·þÎñÆ÷¶Ô MySQL ÓÐÓ²¼þ¡¢ÍøÂç¡¢²Ù×÷ϵͳ¡¢Êý¾Ý¿âºÍ°²È«µÈ¶à·½ÃæµÄÒªÇó£¬Ö»ÓÐÂú×ãÕâЩҪÇ󣬲ÅÄÜÎªÍæ¼ÒÌṩÎȶ¨¡¢Á÷³©µÄÓÎÏ·ÌåÑ顣ͬʱ£¬´«ÆæÓÎÏ·Ò²¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÑ¡ÔñÆäËûÊý¾Ý¿â£¬Èç SQL Server¡¢Oracle¡¢MongoDB µÈ£¬ÒÔÂú×㲻ͬµÄÐèÇó¡£ÔÚδÀ´£¬Ëæ×ÅÓÎÏ·ÐÐÒµµÄ²»¶Ï·¢Õ¹£¬Êý¾Ý¿â¼¼ÊõÒ²½«²»¶Ï½ø²½£¬Îª´«ÆæÓÎÏ·µÄ·¢Õ¹Ìṩ¸üÇ¿´óµÄÖ§³Ö¡£

