Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy可以';t连接到本地MySQL_Python_Sqlalchemy - Fatal编程技术网

Python SQLAlchemy可以';t连接到本地MySQL

Python SQLAlchemy可以';t连接到本地MySQL,python,sqlalchemy,Python,Sqlalchemy,我试图使用SQLAlchemy创建一个数据库,但是当我运行 meta.create_all() 我明白了 这是我的代码: from sqlalchemy import * from sqlalchemy.ext.declarative import * from sqlalchemy.orm import * from sqlalchemy.databases import mysql from datetime import datetime import logging from oper

我试图使用SQLAlchemy创建一个数据库,但是当我运行

meta.create_all()
我明白了

这是我的代码:

from sqlalchemy import *
from sqlalchemy.ext.declarative import *
from sqlalchemy.orm import *
from sqlalchemy.databases import mysql
from datetime import datetime
import logging
from operator import itemgetter
from collections import deque

#logging.basicConfig()
#logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)

#meta = MetaData('sqlite:///database.sqlite3')
f = open("db.txt", "r") # db.txt should contain text like "mysql://realboy@localhost/realboy?charset=utf8&use_unicode=0"
db_path = f.read()
f.close()

db = create_engine(db_path)
meta = MetaData(db)
users = Table('users', meta,
  Column("id", Integer, primary_key=True),
  Column("username", String(100), unique=True),
  Column("password", String(100)),
  Column("explored_friends", Boolean, default=False),
  Column("exhausted_friends", Boolean, default=False),
  Column("explored_tweets", Boolean, default=False),
  Column("edge_count", Integer, default=0),
  Column("group", Integer, default=-1),
  mysql_charset='utf8'
)

meta.create_all()

MySQL服务器的套接字可能不在/tmp/MySQL.sock,因此驱动程序无法连接。例如,我的地址是/var/run/mysqld/mysqld.sock。SQLAlchemy可能使用mysqclient驱动程序,该驱动程序接受unix_套接字参数。要利用这一优势,请尝试在连接URI中使用它,如下所示:

mysql://realboy@localhost/realboy?unix_socket=/var/run/mysqld/mysqld.sock
要找出服务器的套接字的实际位置,请尝试查看/etc/mysql/my.cnf[或服务器用于配置的任何内容]

mysql://realboy@localhost/realboy?unix_socket=/var/run/mysqld/mysqld.sock