2017-07-28 61 views
0

我可以登錄,在我的本地使用空密碼根:MySQL不能做root身份登錄本地主機上,即使使用sudo

sudo mysql -u root 

我想與PyMySQL做到這一點在Python:

try: 
    sql_conn = pymysql.connect(host='localhost', user='root', 
          password='') 
except: 
    print('exception') 

但即使我運行我的Python腳本爲rootsudo,我也會遇到異常。我該如何解決這個問題(安全性不是問題,孤立的測試環境)。

+2

這是數據庫的root用戶,而不是系統的root用戶。 – 2017-07-28 12:21:05

+0

如果你的mysql是5.7.x或更高版本...嘗試創建一個mysql用戶參考:https://github.com/PyMySQL/mysqlclient-python/issues/71 –

+1

我假設你使用'auth_socket'作爲你的根目錄用戶(嘗試在你的第一個命令中指定一個錯誤的(=任何)密碼,你仍然可以登錄)。您可以更改(mysql)root帳戶以使用正常密碼(所以基本上做與完​​成相反的操作[here](https://stackoverflow.com/questions/39968082/how-can-i-reset-default- root-user-behavior-on-mysql-5-7))或使用其他用戶。 – Solarflare

回答

0

嘗試

import pymysql 
    conn = pymysql.connect(host='ServerIP', port=3306, user='remoteMe', passwd='mypassword', db='myDB') 
相關問題