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