【解决】mysql database connection ‘default‘: (2003, “Can‘t connect to MySQL server on
问题定义
数据库 mysql 远程连接时,出现下面的问题:
这里主要是使用 django 进行 python manage.py makemigrations
RuntimeWarning: Got an error checking a consistent migration history performed for database connection 'default': (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")
此时是 /etc/mysql/my.cnf 文件夹中配置出问题了,登录mysql后, 使用下面的命令:
SHOW VARIABLES LIKE 'port';
发现端口号为 0
并不是默认的3306
为查询原因 使用下面的 命令 show variables like 'skip_networking'; 可看出来 skip-networking 信息为 ON, 而 skip-networking为ON时,数据库无法进行 mysql 远程连接。造成此问题的原因是,在 /etc/mysql/my.cnf 或者 /etc/mysql/mysql.conf.d/mysqld.cnf 中配置了 skip-grant-tables(即默认mysql可以无密码登录,此时是默认开启了 skip-networking)
show variables like 'skip_networking';
![]()
解决方法
将 上述 cnf 文件中得 skip-grant-tables 注释即可 或者 skip-networking=OFF(如果显式设计skip-networking=ON的话)
此时再对mysql相关变量进行查阅
show variables like 'skip_networking';
SHOW VARIABLES WHERE Variable_name = 'port';
此时 mysql 即可通过 3306 端口访问。
更多推荐






所有评论(0)