python3远程连接MySQL
生活随笔
收集整理的這篇文章主要介紹了
python3远程连接MySQL
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用python3連接至遠程的mysql服務器
python3連接mysql使用pymysql,首先要去下載對應版本的。
pip3 install pymysql1、導入模塊:
import pymysql2、配置鏈接:
conn=pymysql.connect(host='服務器IP',port=3306,#數據庫登錄賬戶user='root',#數據庫登錄密碼passwd='123456',#要連接的數據庫db='test' )host后為ip地址,若用本地mysql則填為localhost或127.0.0.1 port 端口號,默認為3306 user 數據庫用戶名 passwd 數據庫密碼 db 你所要用的數據了名稱3、創建數據庫操作對象:
cur=conn.cursor()我們對數據庫的常用操作都同個這個cursor對象來進行操作 通過cur.execute()來執行語句;這里操作不在概述。 寫個我在用的時候出現的問題: 在用python將數據插入到表中時,會遇到格式化插入如下:cur.execute("INSERT INTO person(name,age,type,time,time2,setType,appearanceCount)""VALUES ('%s',%d,'%s','%s','%s','%s',%d)"%(name,age,type,time,time2,setType,appearanceCount) )這里的name,type等等都是字符串類型的變量,age是int類型變量,但是再插入時若是直接 用%s,就會報錯,加上引號就沒問題.** 另外操作遠程數據庫需要遠程數據庫對本地進行授權,若沒有授權會出現以下提示:
Host 'xxxxxx' is not allowed to connect to this MySQL server **
MySQL數據庫遠程登陸授權
1、
在windows下運行輸入mstsc,進行遠程登錄,或者通過xshell等工具遠程登錄管理服務器;2、
遠程登錄后,輸入mysql -u root -p 輸入密碼登錄MySQL;3、
創建遠程登陸用戶并授權grant all PRIVILEGES on test_db.* to root@'192.168.1.101' identified by '123456';all PRIVILEGES 表示賦予所有的權限給指定用戶,這里也可以替換為賦予某一具體的權限,例如select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。test_db.* 表示上面的權限是針對于哪個表的,test_db指的是數據庫,后面的 * 表示對于所有的表,由此可以推理出:對于全部數據庫的全部表授權為“*.*”,對于某一數據庫的全部表授權為“數據庫名.*”,對于某一數據庫的某一表授權為“數據庫名.表名”。root 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。192.168.1.101 表示允許遠程連接的 IP 地址,也就是你本地的ip地址。如果想不限制鏈接的 IP 則設置為“%”即可。123456 為用戶的密碼。4、
flush privileges; mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問,如果還是無法訪問,重新啟動mysql服務器,來使新設置生效。轉載于:https://www.cnblogs.com/sungeng/p/8253652.html
總結
以上是生活随笔為你收集整理的python3远程连接MySQL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 笔记 2 (C++ primer
- 下一篇: vue 练习模板