MySQL×÷ΪһÖÖ¿ªÔ´µÄ¹ØÏµÐÍÊý¾Ý¿â¹ÜÀíϵͳ£¨RDBMS£©£¬Æ¾½èÆä¸ßÐÔÄÜ¡¢¿É¿¿ÐÔºÍÒ×ÓÃÐÔ£¬ÔÚÈ«Çò·¶Î§ÄÚÓµÓй㷺µÄÓ¦ÓÃ
¶ø¶ÔÓÚϵͳ¹ÜÀíÔ±ºÍ¿ª·¢ÈËÔ±À´Ëµ£¬Í¨¹ýÔ¶³Ì¹¤¾ß¸ßЧ¡¢°²È«µØ·ÃÎʺ͹ÜÀíMySQLÊý¾Ý¿âÏÔµÃÓÈÎªÖØÒª
Xshell£¬×÷Ϊһ¿î¹¦ÄÜÇ¿´óµÄÖÕ¶Ë·ÂÕæÈí¼þ£¬Æ¾½èÆäÇ¿´óµÄÔ¶³Ì·ÃÎÊÄÜÁ¦ºÍÓû§ÓѺõĽçÃæ£¬³ÉΪÐí¶àרҵÈËÊ¿µÄÊ×Ñ¡¹¤¾ß
±¾ÎĽ«ÉîÈë̽ÌÖÈçºÎʹÓÃXshell²é¿´ºÍ¹ÜÀíMySQLÊý¾Ý¿â£¬°ïÖú¶ÁÕßÌáÉý¹¤×÷ЧÂÊ
Ò»¡¢Xshell¼ò½é XshellÊÇÒ»¿îÃâ·ÑµÄSSH¿Í»§¶ËÈí¼þ£¬Ö§³ÖSSH1¡¢SSH2ÐÒ飬ÒÔ¼°WindowsϵÄTelnetÐÒé
ͨ¹ýXshell£¬Óû§¿ÉÒÔÇáËÉÁ¬½Óµ½Ô¶³Ì·þÎñÆ÷£¬½øÐÐÎļþ´«Êä¡¢½Å±¾Ö´ÐС¢Êý¾Ý¿â¹ÜÀíµÈ²Ù×÷
Xshell²»½ö½çÃæ¼ò½à¡¢²Ù×÷±ã½Ý£¬»¹Ö§³Ö¶à±êǩҳ¡¢¶à´°¿Ú¡¢ÍÏ×§ÎļþÉÏ´«ÏÂÔØµÈ¹¦ÄÜ£¬¼«´óµØÌáÉýÁËÓû§µÄ¹¤×÷ЧÂÊ
¶þ¡¢×¼±¸¹¤×÷ ÔÚʹÓÃXshell²é¿´ºÍ¹ÜÀíMySQLÊý¾Ý¿â֮ǰ£¬ÎÒÃÇÐèÒª×öһЩ׼±¸¹¤×÷£º 1.°²×°Xshell£ºÊ×ÏÈ£¬ÄãÐèÒª´ÓXshellµÄ¹Ù·½ÍøÕ¾ÏÂÔØ²¢°²×°XshellÈí¼þ
°²×°¹ý³ÌÏà¶Ô¼òµ¥£¬Ö»Ðè°´ÕÕÌáʾÍê³É¼´¿É
2.°²×°MySQL£ºÈ·±£ÄãµÄÔ¶³Ì·þÎñÆ÷ÉÏÒѾ°²×°ÁËMySQLÊý¾Ý¿â
Èç¹ûÉÐδ°²×°£¬¿ÉÒÔͨ¹ýLinuxµÄ°ü¹ÜÀí¹¤¾ß£¨Èçapt-get¡¢yum£©½øÐа²×°
3.ÅäÖÃMySQL£ºÈ·±£MySQLÔÊÐíÔ¶³ÌÁ¬½Ó
Õâͨ³£Éæ¼°ÐÞ¸ÄMySQLµÄÅäÖÃÎļþ£¨Èç`my.cnf`»ò`my.ini`£©£¬È·±£`bind-address`ÉèÖÃΪ`0.0.0.0`»òÕßÄãµÄ·þÎñÆ÷µÄIPµØÖ·£¬²¢ÖØÆôMySQL·þÎñ
4.´´½¨Óû§²¢ÊÚȨ£ºÔÚMySQLÖд´½¨Ò»¸öÔÊÐíÔ¶³ÌÁ¬½ÓµÄÓû§£¬²¢ÊÚÓèÏàÓ¦µÄȨÏÞ
ÀýÈ磺 ```sql CREATE USER remote_user@% IDENTIFIED BY password; GRANT ALL PRIVILEGES- ON . TO remote_user@% WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 5.ÅäÖ÷À»ðǽ£ºÈ·±£·þÎñÆ÷µÄ·À»ðǽÔÊÐíSSHºÍMySQLµÄĬÈ϶˿ڣ¨3306£©µÄ·ÃÎÊ
Èý¡¢Ê¹ÓÃXshellÁ¬½ÓÔ¶³Ì·þÎñÆ÷ 1.Æô¶¯Xshell£º´ò¿ªXshellÈí¼þ£¬µã»÷×óÉϽǵġ°Ð½¨»á»°¡±°´Å¥
2.ÅäÖûỰÐÅÏ¢£ºÔÚµ¯³öµÄ¶Ô»°¿òÖУ¬ÊäÈëÔ¶³Ì·þÎñÆ÷µÄIPµØÖ·¡¢¶Ë¿ÚºÅ£¨Ä¬ÈÏ22£©ºÍSSHÓû§Ãû
µã»÷¡°È·¶¨¡±±£´æ»á»°ÅäÖÃ
3.Á¬½Ó·þÎñÆ÷£ºÔڻỰÁбíÖÐË«»÷¸Õ²Å´´½¨µÄ»á»°£¬ÊäÈëSSHÓû§µÄÃÜÂ룬¼´¿ÉÁ¬½Óµ½Ô¶³Ì·þÎñÆ÷
ËÄ¡¢²é¿´MySQLÊý¾Ý¿â Á¬½Óµ½Ô¶³Ì·þÎñÆ÷ºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ýÒÔϼ¸ÖÖ·½Ê½²é¿´ºÍ¹ÜÀíMySQLÊý¾Ý¿â£º 1.Ö±½ÓʹÓÃMySQLÃüÁîÐУº - ÔÚXshellµÄÖÕ¶Ë´°¿ÚÖУ¬ÊäÈë`mysql -uremote_user -p`£¬È»ºóÊäÈëÓû§µÄÃÜÂ룬¼´¿É½øÈëMySQLÃüÁîÐнçÃæ
- ÔÚMySQLÃüÁîÐÐÖУ¬Äã¿ÉÒÔʹÓø÷ÖÖSQLÃüÁîÀ´²é¿´Êý¾Ý¿â¡¢±í¡¢Êý¾ÝµÈÐÅÏ¢
ÀýÈ磺 ```sql SHOW DATABASES; USEdatabase_name; SHOW TABLES; DESCRIBE table_name; SELECTFROM table_name LIMIT 10; ``` 2.ʹÓÃMySQL¹ÜÀí¹¤¾ß£º - ËäÈ»Xshell±¾ÉíÊÇÒ»¸öÖÕ¶Ë·ÂÕæÈí¼þ£¬µ«Äã¿ÉÒÔ½áºÏÆäËûMySQL¹ÜÀí¹¤¾ß£¨ÈçMySQL Workbench¡¢phpMyAdminµÈ£©½øÐиüÖ±¹ÛµÄ¹ÜÀí
ÕâЩ¹¤¾ßͨ³£ÌṩͼÐλ¯½çÃæ£¬·½±ãÓû§½øÐÐÊý¾Ý¿âµÄ´´½¨¡¢Ð޸ġ¢É¾³ýµÈ²Ù×÷
3.ͨ¹ý½Å±¾²é¿´Êý¾Ý¿â£º - Äã¿ÉÒÔ±àдBash½Å±¾»òPython½Å±¾À´×Ô¶¯»¯²é¿´MySQLÊý¾Ý¿âµÄÈÎÎñ
ÀýÈ磬ʹÓÃPythonµÄ`pymysql`¿â£¬Äã¿ÉÒÔ±àдһ¸ö¼òµ¥µÄ½Å±¾À´²éѯÊý¾Ý¿âÐÅÏ¢£¬²¢Í¨¹ýXshellÖ´Ðиýű¾
```python import pymysql # Á¬½Óµ½MySQLÊý¾Ý¿â connection = pymysql.connect( host=remote_host, user=remote_user, password=password, database=database_name ) try: with connection.cursor() as cursor: # Ö´ÐÐSQL²éѯ sql = - SELECT FROM table_name LIMIT10 cursor.execute(sql) result = cursor.fetchall() # ´òÓ¡²éѯ½á¹û for row in result: print(row) finally: connection.close() ``` - ½«ÉÏ