我正在尝试在sqlacodegen
上使用database
。
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
应用程序中,我访问了同一个database
而没有任何问题。
我的系统上不存在上述文件,因此我转到/etc/mysql/my.cnf
并更改了该行:
socket = /var/run/mysqld/mysqld.sock
到
socket = /opt/lampp/var/mysql/mysql.sock
不完全确定这是否是正确的事情..但即使在此更改后,系统似乎仍在尝试从原始位置运行。
答案 0 :(得分:0)
您只需在/var/run/mysqld/mysqld.sock
处创建一个指向lampp的mysql袜子的符号链接。
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