Python3 MySQL正常連線與ssh跳板連線

2021-10-11 18:53:30 字數 2248 閱讀 1000

1.mysql.connector(pip install mysql.connector)

2.pymysql(pip install pymysql)

3.sshtunnel(pip install sshtunnel)

import mysql.connector

db = mysql.connector.connect(

host =

"192.168.1.1"

,# ip

port =

3306

,# 資料庫埠

user =

"test"

,# 資料庫使用者名稱

passwd =

"test"

,# 資料庫密碼

database =

"test"

# 需連線資料庫名

auth_plugin =

"mysql_native_password"

# mysql8需新增

)

mycursor = db.cursor(

)# 新建游標

mycursor.execute(sql)

# 執行sql語句

print

("mycursor.fetchone()"

)# sql查詢輸出方式一條,str

print

("mycursor.fetchmany(4)"

)# sql查詢輸出方式多條,引數為數量,list

print

("mycursor.fetchall()"

)# sql查詢輸出方式所有,list

db.commit(

)# sql修改提交儲存

print

(mycursor.rowcount,

"條記錄修改"

)# 發生修改數量

mycursor.close(

)# 游標關閉

db.close(

)# 資料庫關閉,用完記得關閉,免得浪費資源,怕忘記關閉使用with語句也可以

import pymysql

from sshtunnel import sshtunnelforwarder

with sshtunnelforwarder((

'114.114.114.114',22

), # 跳板伺服器ip,ssh埠

ssh_username=

"test"

, # 跳板ssh使用者名稱

ssh_password=

"test"

, # 跳板ssh密碼

# ssh_pkey=r"f:\test\test.pem", # 跳板資料庫金鑰

remote_bind_address=

('10.0.0.1'

,3306

)) as server: # 資料庫ip,埠

db = pymysql.

connect

( host=

'127.0.0.1'

, # 預設即可

port=server.local_bind_port,

user=

'test'

, # 資料庫使用者名稱

passwd=

'test'

, # 資料庫密碼

db='test'

) # 需連線資料庫名

mycursor = db.

cursor

() # 新建游標

mycursor.

execute

(sql) # 執行sql語句

print

("mycursor.fetchone()"

) # sql查詢輸出方式一條,str

print

("mycursor.fetchmany(4)"

) # sql查詢輸出方式多條,引數為數量,list

print

("mycursor.fetchall()"

) # sql查詢輸出方式所有,list

db.commit

() # sql修改提交儲存

print

(mycursor.rowcount,

"條記錄修改"

) # 發生修改數量

db.close

() # 資料庫連線關閉,不關閉無法退出

python3 mysql插入資料衝突

1.問題 使用python3 進行資料庫插入報以下錯誤 1267,illegal mix of collations latin1 swedish ci,implicit and utf8 general ci,coercible for operation 2.排查 資料連線已經是utf 8 再一...

python3 MySQL資料庫操作

在python2.x中用習慣了mysqldb,但是在python3.x中已經不支援那個元件了。取而代之的是 pip3 install pymysql另外,mysql官方出了 pip3 install mysql.connector也是可以的。如下 import pymysql 連線 conn pym...

Python3 MySQL 資料庫連線

pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。一.安裝資料庫api介面 pip install p...