[英]Mysql - How to set skip_networking to off?
我正在尝试从 python 连接到 Mysql 服务器。 我收到以下错误:
Traceback (most recent call last):
File "./db_connection.py", line 2, in <module>
Con = MySQLdb.Connect(host="127.0.0.1",port= 3360, user="username",
passwd="password", db="entries")
File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line
85, in Connect
return Connection(*args, **kwargs)
File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py",
line 204, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL
server on '127.0.0.1' (111)")
我查了一下,我的端口是 0 :
mysql> show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 0 |
+---------------+-------+
1 row in set (0.01 sec)
和skip_networking=ON:
mysql> SHOW VARIABLES LIKE 'skip_networking';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | ON |
+-----------------+-------+
1 row in set (0.00 sec)
文件 my.cnf 看起来像这样:
[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
我尝试将 skip-networking = Off 和 port=3360 设置为关闭,然后重新启动 mysql 服务,但没有成功——skip_networking 仍在运行。 关于如何将 MySQL DB 与 python 连接的任何建议?
谢谢!
如果使用--skip-grant-tables
选项启动服务器以禁用身份验证检查,则服务器将启用--skip-networking
以阻止远程连接。
您应该评论--skip-grant-tables
。
您需要做的第一件事是停止您的 MYSQL 服务器。
如果您使用的是 Mac,
sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip_networking=0
然后您可以关闭终端窗口,然后重新打开它并再次连接到 mysql。 您的端口将被重置,skip_networking 应该被重置为 OFF。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.