Python连接到mysql
我安装Python2.7是为了尝试在线连接MySQL。基本上,MySQL和phpMyAdmin位于服务器上,我可以通过windows桌面上的putty通过Python连接到mysql,python,mysql,Python,Mysql,我安装Python2.7是为了尝试在线连接MySQL。基本上,MySQL和phpMyAdmin位于服务器上,我可以通过windows桌面上的putty通过localhost:8888/phpMyAdmin访问它。即使涂上油灰,我似乎也无法连接到它。有什么想法吗?使用CyMySQL的Python3.3也面临同样的问题 import MySQLdb db = MySQLdb.connect(host="127.0.0.1", # your host, usually 127.0.0.1
localhost:8888/phpMyAdmin
访问它。即使涂上油灰,我似乎也无法连接到它。有什么想法吗?使用CyMySQL的Python3.3也面临同样的问题
import MySQLdb
db = MySQLdb.connect(host="127.0.0.1", # your host, usually 127.0.0.1
user="megamonster", # your username
passwd="", # your password
db="extractor") # name of the data base
# you must create a Cursor object. It will let
# you execute all the query you need
cur = db.cursor()
# Use all the SQL you like
cur.execute("SELECT * FROM abc")
# print all the first cell of all the rows
for row in cur.fetchall() :
print row[0]
错误:
Traceback (most recent call last):
File "C:\Users\Jonathan\Desktop\testSQL.py", line 6, in <module>
db="extractor") # name of the data base
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' (10061)")
回溯(最近一次呼叫最后一次):
文件“C:\Users\Jonathan\Desktop\testSQL.py”,第6行,在
db=“提取器”)#数据库的名称
文件“C:\Python27\lib\site packages\MySQLdb\\uuuu init\uuuuu.py”,第81行,在Connect中
返回连接(*args,**kwargs)
文件“C:\Python27\lib\site packages\MySQLdb\connections.py”,第187行,在\uuu init中__
超级(连接,自).\uuuu初始化(*args,**kwargs2)
操作错误:(2003,“无法连接到'127.0.0.1'(10061)”上的MySQL服务器)
更新
我添加了端口(3306),得到了这个。
操作错误:(2013,“在“等待初始通信数据包”时与MySQL服务器的连接中断,系统错误:0”)
目前正在考虑
Hmm仍然不能工作…可能有很多事情,但就MySQL而言,权限是为
localhost
和127.0.0.1
单独设置的。确保您可以连接到确切的主机和凭据
例如,在与油灰连接时检查此项
mysql> use mysql;
Database changed
mysql> SELECT host,user,select_priv FROM user;
+-------------------------+------+-------------+
| host | user | select_priv |
+-------------------------+------+-------------+
| localhost | root | Y |
| 127.0.0.1 | root | Y |
+-------------------------+------+-------------+
还要检查您的连接身份(在PUTTY上),并在脚本中使用相同的信息:
mysql> SELECT USER(),CURRENT_USER();
+----------------+----------------+
| USER() | CURRENT_USER() |
+----------------+----------------+
| root@localhost | root@localhost |
+----------------+----------------+
我用了sqlplus,它工作了
sqlplus User_name/password@Host_ip:Port/Service_Name@$SQLFILENAME
如果要使用文件,只需指定
SQLFILENAME
。否则,您可以忽略此参数并直接运行sql语句您可以在machines命令行上连接“mysql-umegamonster extractor”吗?请尝试localhost
而不是ip地址?@kevinsa5已经尝试过了。我正在考虑restful或一些api之类的东西,嗯,你有什么建议?@joeButler我从putty/browser(phpmyadmin)连接mysql没有问题。我想你忘记了port
变量。我检查了,是的,Localhost和127.0.0.1与上面相同。对于当前的_用户,与上面的结果相同。因此,您可以通过ssh连接到机器,然后在命令行中连接为mysql-u root
?我不明白phpmyadmin“通过油灰”的参考。。。没关系,我刚看到你的帖子有一个新的错误!对谢谢你帮我调试这个,我已经忙了好几个小时了。感谢您的帮助><仍在努力:x HmmmI我不明白为什么我可以通过putty和浏览器与mysql对话,为什么我不能在python上这么做:\n我太绝望了,如果这不能工作,你会建议其他什么吗?例如restful/api的东西?不管怎样,我对这些都是新手:\n欢迎来到Stackoverflow。