Python mysql 连接的问题

我是在 Python3 的环境下,使用 pycharm IDE,

代码如下:
import pymysql

conn = pymysql.connect('localhost', 'wubin', 'wude@990102', 'mysql')

密码,用户名都是对的,直接在mysql 的图形化界面中是可以登录的
但是一用python,
就会出现如下的错误:
图片说明

10个回答

这个是权限的问题,可以修改mysql的user表里面,把host字段改成%试试。

试试这个,是不是没有授权
$mysql>GRANT ALL PRIVILEGES ON . TO 'root'@'192.168.0.104' IDENTIFIED BY 'root' WITH GRANT OPTION

提示很清楚了啊,没有使用密码
pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='tkq1', charset='utf8')
建议这样试试

MySQLdb是用于Python链接Mysql数据库的接口,它实现了Python 数据库API规范V2.0,基于MySQL C API上建立的。

安装
直接使用pip进行安装,在此之前需要安装一些系统依赖包。

CentOS
yum install gcc python-devel mysql-devel zlib-devel openssl-devel
Ubuntu
sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools

最好不要('localhost', 'wubin', 'wude@990102', 'mysql')这样子打吧,加上host=, port=, passwd=最好,你试一下

mysql 中没有为这个用户附权限 wubin

授权问题,查看哈辅权命令

检查一下数据库中这个账号的host设置是localhost还是127.0.0.1

可以先看看user报的Host是不是'%',第二个可以看看授权的时候是不是'%'

以上各位,这个问题我刚刚已经解决了,并不是授权的问题,也不会密码的问题,而是因为 mysql 8.0 的安全模式默认是不允许Python连接的,所以解决的方法是在安装的时候的一个anthourity之类的显示受权的界面里面改选另外一个选项(就是mysql 5.7 默认的那个),还是很感谢各位大神帮忙,也很感谢那些写出了技术贴的大神

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐