MySQL数据库外网访问指的是允许外部网络(互联网或其他非本地网络)通过网络连接到MySQL数据库服务器,从而进行数据的读取、写入、更新和删除等操作。
MySQL数据库外网访问通常通过以下方式实现:
以下是一个使用SSH隧道连接远程MySQL数据库的示例(Python):
import pymysql
import paramiko
# SSH连接信息
ssh_host = 'your_ssh_host'
ssh_port = 22
ssh_user = 'your_ssh_user'
ssh_password = 'your_ssh_password'
# MySQL连接信息
mysql_host = '127.0.0.1' # 本地地址,SSH隧道会将远程地址转发到这里
mysql_port = 3306 # MySQL端口
mysql_user = 'your_mysql_user'
mysql_password = 'your_mysql_password'
mysql_db = 'your_database'
# 创建SSH客户端
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ssh_host, ssh_port, ssh_user, ssh_password)
# 创建SSH隧道
transport = ssh.get_transport()
transport.open_channel("direct-tcpip", (mysql_host, mysql_port), ('remote_mysql_host', remote_mysql_port))
# 连接MySQL数据库
conn = pymysql.connect(host=mysql_host, port=mysql_port, user=mysql_user, password=mysql_password, db=mysql_db)
cursor = conn.cursor()
# 执行SQL查询
cursor.execute("SELECT * FROM your_table")
results = cursor.fetchall()
# 关闭连接
cursor.close()
conn.close()
ssh.close()
领取专属 10元无门槛券
手把手带您无忧上云