我是在 Python3 的环境下,使用 pycharm IDE,
代码如下:
import pymysql
conn = pymysql.connect('localhost', 'wubin', 'wude@990102', 'mysql')
密码,用户名都是对的,直接在mysql 的图形化界面中是可以登录的
但是一用python,
就会出现如下的错误:
这个是权限的问题,可以修改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 默认的那个),还是很感谢各位大神帮忙,也很感谢那些写出了技术贴的大神