python连接mariadb报错解决1045, "Access denied for user 'root'@'192.168.0.50' (using password: YES)
[root@localhost ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> db = MySQLdb.connect(host='127.0.0.1',user='root',passwd='xukeng',db='real_name',charset='utf8')
>>> cursor = db.cursor()
>>> cursor.execute('select * from test limit 2')
2L
>>> db = MySQLdb.connect(host='192.168.0.50',user='root',passwd='xukeng',db='real_name',charset='utf8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
retu Connection(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (1045, "Access denied for user 'root'@'192.168.0.50' (using password: YES)")
------------
看不明白为什么换了一个HOST地址就登入不了,都是在本机。接着忽然想到是不是数据库的用户权限限制了。
接着登入数据库查看
MariaDB [real_name]> use mysql
Reading table information for completion of table and column names
You can tu off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> select user,host from user;
+-----------+-----------------------+
| user | host |
+-----------+-----------------------+
| newdbuser | % |
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| root | localhost.localdomain |
+-----------+-----------------------+
5 rows in set (0.00 sec)
果然,ROOT用户没有外网登入的权限
换了一个用户 NEWDBUSER
>>> db = MySQLdb.connect(host='192.168.0.50',user='newdbuser',passwd='db123456',db='real_name',charset='utf8')
>>>
OK,没问题
作者:S_Seven
来源链接:https://www.cnblogs.com/s-seven/p/9032131.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。