원격 서버의 Mysql 데이터베이스에 접속해야 하는데, Mysql 데이터베이스의 보안 기간 동안 로컬 연결만 허용하도록 보안 조치가 설정되어 있습니다. 사용), 다른 원격 연결에서는 직접 접속이 허용되지 않으며, 해당 포트가 수정된 경우 SSH 기반으로 데이터베이스에 접속해야 합니다. 데이터베이스에 연결하는 방법은 SSH를 통한 Navicat의 인터페이스 연결과 유사합니다.
Navicat
데이터베이스에 연결
Mysql에 연결하려면 먼저 pymysql을 설치해야 합니다
pip install pymysql
설치 기반 SSH에서 라이브러리 sshtunnel
pip install sshtunnel #当前最新 0.3.1版
최신 버전 라이브러리에는 버그가 있습니다
Sshtunnel 문서를 볼 수 있습니다.
사용자 정의 쿼리 기능위 연결을 하나의 함수로 캡슐화할 수 있어 다른 곳에서 사용하기 편리합니다.with SSHTunnelForwarder( ('192.168.1.1', 2222), ssh_password='123456', ssh_username='root', remote_bind_address=('127.0.0.1', 3306)) as server: print('SSH连接成功') conn = pymysql.connect(host='127.0.0.1', port=server.local_bind_port, user='root', database='data', charset='utf8') print('mysql数据库连接成功') cursor = conn.cursor() ... #获取数据操作,此处省略 cursor.close() conn.close()
참고:
conn.commit()
, cursor.close()
, conn.close()불필요한 버그를 방지하기 위해 표준화된 방식으로 사용해야 합니다conn.commit()
、cursor.close()
、conn.close()
这些一定要规范使用,防止不必要的bug
传入参数时建议用这种方式cursor.execute(sql,args)
cursor.execute(sql,args)
매개변수를 전달하면 SQL 삽입 위험을 방지할 수 있습니다위 내용은 SSH 기반 Python을 사용하여 원격으로 MySQL 데이터베이스에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!