我正尝试在我的数据库
上使用sqlacodegen
。
sqlacodegen mysql://root:mypassword@localhost/database_name
但是,我不断收到此错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
但是,在我的 flask
应用程序中,我可以毫无问题地访问这个完全相同的数据库
。
上面的文件在我的系统上不存在,所以我去 /etc/mysql/my.cnf
并更改了行:
socket = /var/run/mysqld/mysqld.sock
到
socket = /opt/lampp/var/mysql/mysql.sock
不完全确定这样做是否正确。但是即使在进行了此更改之后,系统似乎仍在尝试从原始位置运行。
最佳答案
您可以在 /var/run/mysqld/mysqld.sock
处创建一个指向 lampp 的 mysql sock 的符号链接(symbolic link)。
sudo ln -s /opt/lampp/var/mysql/mysql.sock/ /var/run/mysqld/mysqld.sock
重启lampp的mysql
sudo /opt/lampp/lampp stopmysql
sudo /opt/lampp/lampp startmysql
关于python - sqlacodegen - 无法连接到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30735814/