本地mysql数据库链接不上
情况1:localhost可以访问通过ip无法访问
原因:mysql默认是不允许外部ip访问的,需要手动设置允许外部ip访问
解决方法:
初始化的mysql用户权限只能localhost访问,外部机器访问需要添加权限:
mysql> Grant all privileges on . to ‘root’@’%’ identified by ‘password’ with grant option;
(%表示任意ip,如果指定ip,改为对应ip即可;‘root’是指要使用的用户名)
mysql> flush privileges; (刷新权限,或者重启mysql)
原文链接
情况2:localhost和127.0.0.1无法访问,外部ip可以访问,navicat也可以通过localhost链接上数据库
原因:我被这个问题坑了好久,当初是刚好有遇到了win10系统更新,我还以为是win10的问题,回退win10版本,重装数据库都没解决,折腾了半天,解决不了,就一直丢这没管了,反正走局域网ip也还是可以链接上数据库,知道今天才突然找到原因,我在本地运行代码发现我80端口被占用了,然后感觉不对,直接访问80端口发现是之前装的一个php的软件在后台默认开机自启了,然后还把我数据库也给占用了,导致我直接走localohost访问不了数据库,我之前一直以为那个软件关了就没事了,没想到会默认开机自启
解决方法:把占用数据库的软件关了就好了