import MySQLdb
conn = MySQLdb.connect(host='192.168.3.94',
user='root',
passwd='123456',
port=3306,
charset='utf8')
conn.select_db('test')
cur = conn.cursor()
a = cur.execute('select * from users;')
print(a)
conn.close()
報錯:
_mysql_exceptions.OperationalError: (1251, 'Client does not support authentication protocol requested by server; consider upgrading MySQL client')
經(jīng)搜索胯杭,是保存密碼的加密方式不同導(dǎo)致明也,改為以前的加密方式即可解決:
mysql -u root -p
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> FLUSH PRIVILEGES;
這里的'root'@'%'
蹲蒲,是經(jīng)過我修改后的,默認(rèn)應(yīng)該為'root'@'localhost'
可以輸入SQL命令查看:
mysql> use mysql;
mysql> select host,user from user;
想要將它從localhost
改為%
只需要:
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;