一般在操作MySQL数据库时都是直接连接到本地数据库的,但是有些时候需要操作的数据库在本机上没有,而是需要远程连接到指定服务器上才可以去进行操作。那么这一篇文章所要来介绍的内容就是python使用SSH远程连接mysql数据库的方法教程,一起看看吧。
一、安装库
SSH是建立在应用层基础上的安全协议,它是一个能够为远程连接以及数据传输提供安全保护的工具,在Linux操作系统上面是已经自带了该工具的。而python程序要使用它来远程连接mysql就要去下载安装两个第三方库才可以,打开命令行窗口之后分别执行下面两个pip命令,如下所示:
pip install pymysql pip install sshtunnel
二、连接代码
创建好py文件之后需要先用import关键字将这两个第三方库导入,导入之后需要先用SSHTunnelForwarder()方法建立出来一个ssh连接环境才可以。在该方法之中传入的数据就是远程服务器的ip地址端口、账号密码(默认为root和123456)、本地服务器ip地址和端口号,代码示例如下所示:
with SSHTunnelForwarder( ('192.168.1.1', 2222), ssh_password='123456', ssh_username='root', remote_bind_address=('127.0.0.1', 3306)) as server:
而在这下面的代码块之中就是需要使用pymysql模块来创建数据库连接对象,调用connect()方法并且传入数据库地址、端口号、账号密码、操作的数据库、编码格式等参数。然后用该连接对象去创建执行具体操作的游标就可以来实现数据读写了,而所有的操作代码都是需要写在with这个上下文管理器的语句块之中,详细代码如下:
conn = pymysql.connect(host='127.0.0.1', port=server.local_bind_port, user='root', database='data', charset='utf8') cursor = conn.cursor()
以上就是关于“Python怎么用SSH远程连接MySQL?如何在Python中远程连接MySQL数据库”的全部内容了,希望对你有所帮助。