本地电脑无法连接到MySQL
问题描述:
ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server
首先网上的问题大部分是远程登陆MySQL,用户Ip没有权限,用本机登陆增加权限。但是我的就是本地都进不去。。。
安装的是官网的mysql免安装版 https://dev.mysql.com/downloads/mysql/
安装mysql的艰辛历程:
(1)免安装版,https://dev.mysql.com/downloads/mysql/
免安装版要领两个,配置环境变量,配置my.ini,然后在dos系统中
mysqld --install
输入 mysqld --initialize-insecure --user=mysql;
初始化数据文件
然后再次启动mysql 然后用命令 mysql –u root –p
进入mysql管理界面(密码可为空)
修改密码:update mysql.user set authentication_string=password('123456789') where user='root' and Host = 'localhost';
刷新权限:flush privileges;
查看服务是否启动:net start mysql
(2)安装可执行程序版, https://dev.mysql.com/downloads/installer/
可执行程序版本一直点下一步即可,会有一个海豚一样的服务界面
修改密码可直接通过navicat连接到mysql后,用查询命令进行修改
1、服务是否开启
我的电脑,右击->管理->服务,找到Mysql,选择本地系统
2、修改主机名
我的电脑,右击->管理->服务,找到Mysql,重启一下。
若1不行,在navicat的连接属性中将里面的主机名或者IP修改为127.0.0.1。
3、免密登陆
https://blog.csdn.net/jrn1012/article/details/53231244
使用这个方法是通过免密码登陆,每用一次MySQL都需要重复操作一次
后续:免密登陆后,可以通过添加mysql的root用户
后来网友提示,才知道原因:
在安装了mysql的数据库中,不要非法关机,强制断电,不然会出现这样的问题。
本地出现了Error 1130,那远程连接也一定会出现该问题,解决了本地连接问题,却不一定解决远程连接出现Error 1130问题。
4、修改密码(mysql 5.7.23)
(1)进入mysql ,首先进行连接权限数据库:use mysql
(2)改密码:update user set authentication_string=password('123') where user='root';
(3)刷新权限:flush privileges;
如果navicat不能连接到本地mysql服务,那么运用命令提示符进入到mysql 的bin目录下,更新一下密码一般就可以了
mysqladmin -uroot -p123 password 12345
5、远程连接mysql服务器报错
(1)10065
10065报错是因为根本没有拼通对方的ip
(2)10060
问题产生的原因主要有:mysql服务没有启动;双方电脑的防火墙没有关闭,特别注意,要两台电脑的防火墙都关闭;
发生这些问题的第一时间首先是重启服务
1、grant all privileges on *.* to 'root'@'%' identified by 'youpassword' with grant option; flush privileges;
2、grant all on db.* to user@'IP' identified by 'pwd';
除了在cmd的dos环境下进行操作,还可以用root登陆navicat可视化界面进行查询操作