我正在尝试在运行12.04的Ubuntu计算机上使用mysql创建远程数据库。
它具有启用了远程登录且没有密码的root用户。我已经启动了服务器。
输出
sudo netstat -tap | grep mysql
表演
tcp 0 0 localhost:mysql *:* LISTEN 13246/mysqld
我已经使用创建了一个名为nwtopology的数据库(如上所述,root还没有密码。)
create database nwtopology
grant all privileges on *.* to root@192.168.129.221
FLUSH PRIVILEGES;
在也运行Ubuntu 12.04的客户端计算机上,我使用python脚本通过sqlalchemy连接到远程mysql数据库。
from pox.core import core
import pox.openflow.libopenflow_01 as of
import re
import datetime
import time
from sqlalchemy import create_engine, ForeignKey
from sqlalchemy import Column, Date, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, backref
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.sql.expression import exists
log = core.getLogger()
engine = create_engine('mysql://root@192.168.129.139/nwtopology', echo=False)
Base = declarative_base()
Session = sessionmaker(bind=engine)
session = Session()
class SourcetoPort(Base):
""""""
__tablename__ = 'source_to_port'
id = Column(Integer, primary_key=True)
port_no = Column(Integer)
src_address = Column(String,index=True)
#-----------------------------------------
def __init__(self, src_address,port_no):
""""""
self.src_address = src_address
self.port_no = port_no
create_engine()调用失败,并出现以下错误。
POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
Traceback (most recent call last):
File "/home/karthik/ms_thesis/pox/pox/boot.py", line 89, in do_import2
__import__(name, globals(), locals())
File "/home/karthik/ms_thesis/pox/custom/tutorial.py", line 39, in <module>
Base.metadata.create_all(engine)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 2515, in create_all
tables=tables)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2230, in _run_visitor
conn = self.contextual_connect(close_with_result=False)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2340, in contextual_connect
self.pool.connect(),
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 210, in connect
return _ConnectionFairy(self).checkout()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 371, in __init__
rec = self._connection_record = pool._do_get()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 697, in _do_get
con = self._create_connection()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 174, in _create_connection
return _ConnectionRecord(self)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 256, in __init__
self.connection = self.__connect()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 316, in __connect
connection = self.__pool._creator()
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 80, in connect
return dialect.connect(*cargs, **cparams)
File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 280, in connect
return self.dbapi.connect(*cargs, **cparams)
File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (OperationalError) (2003, "Can't connect to MySQL server on '192.168.129.139' (111)") None None
我不知道为什么会这样吗?
看起来mysql配置为仅在localhost上侦听。
您可以通过telnet 192.168.129.139 3306
在客户端计算机上运行进行测试。
最可能的原因-mysqld被配置为这样做。
请尝试按照此处描述的配置步骤进行操作:
编辑/etc/mysql/my.cnf
文件以配置MySQL以侦听来自网络主机的连接,将bind-
address指令更改为服务器的IP地址。例如,将192.168.0.5替换为适当的地址。如果没有这样的条目-取消注释或创建新行。
bind-address = 192.168.0.5
然后重启mysqld
sudo service mysql restart
然后使用telnet进行测试,或者再次运行您的应用程序。netstat也将有mysqld的第二个条目。
我正在尝试连接两个docker容器,一个是posgresql,另一个是python flask应用程序。两者都链接正确,python应用程序中的所有连接变量都直接取自postgres容器中通过链接公开的连接变量,并且与检查postgresql容器时发现的连接变量相同。当我将psql与连接字符串中的精确参数一起使用时,即: 成功连接到postgres容器中的数据库,因此我知道postgres正在通过
问题内容: 我知道这个问题以前曾被问过很多,但我尝试了一些给出的解决方案,但没有任何效果。 我已经 在Windows 7 x64上 下载了 MySQL Workbench 6.1 ,现在我要启动并做一个简单的数据库,就设置了一个新的MySQL Connection,并将其默认设置为主机名,端口和用户名,我只是设置了连接名。一开始它是在动作输出中显示无法连接。服务器可能无法运行,并且在msg部分中编
问题内容: 关闭。 这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 7年前关闭。 我在linux框IP = 192.168.1.100上安装了mysql服务器,但是当我尝试连接到该IP时总是出错(111)。但是使用localhost并且127.0.0.1可以。 从另一台计算机连接它也会出现错误111。 在这种情况下,使用local
问题内容: 当在Django中连接到mysql数据库时,出现错误。 我确定mysql服务器正在运行。 /var/run/mysqld/mysqld.sock不存在。 当我运行时,我只会得到/tmp/mysql.sock和其他一些不相关的输出。 我添加到/etc/my.cnf。然后重新标记mysql,退出django shell,并连接到mysql数据库。我仍然遇到相同的错误。 我进行了很多搜索,但
当连接到Django中的mysql数据库时,我得到了错误。 > 我确信mysql server正在运行。 任何帮助都是可喜的。提前谢了。 我只是尝试了一些方法。而且管用。我是这样做的。 添加。重新启动mysql服务器。
我创建了一个主机名为“%”的外部用户,以允许远程访问。我在将本地MySQL连接到远程AWS RDS时遇到以下错误: 错误2003(HY000):无法连接到'instance.cvxqy8tbi2bk.us-east-1.rds.amazonaws.com'上的MySQL服务器(110)。 我尝试注释,但没有解决方案。有什么线索吗?