Mysql远程不允许连接(Windows)

来源:互联网 发布:淘宝无线端其他来源 编辑:程序博客网 时间:2024/05/29 17:59

一、出现报错,显示“1130 - Host 'IP' is not allowed to connect to this MySQL server“。

百度了大量资料才发现是因为MySQL中的用户问题!!!

远程登录到服务器电脑

我是根据这篇文章来连接Mysql数据库的:如何登录mysql? cmd怎么连接mysql数据库

1、使用cmd命令行 的方式去连接数据库

最后报了个ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误,

又百度了大量资料,很多都说是没有设置密码问题,但是我密码并没有问题,最后Navicat for MySQl都能远程访问了,

还是未解决!!!(有知道原因的大神,请告诉啊 (┬_┬) !!!)

2、Mysql命令行连接:mysql command line client

    • 点击mysql命令行之后,会提示你输入root密码。输入正确的root密码之后即可连接到msyql数据库里啦

    • 进入数据库:mysql> use mysql; (记得SQL语句后一定要加分号,否则就会没有反应
    • 查询用户表数据:select user,host,password from user;
    • 最后查询出来的数据是这样的:只能主机能访问,所以我们需要设置需要任何主机能远程访问了。

    • 这张表就是mysql.user表,记录了mysql的用户信息,用户@主机 用户就是你的用户名,主机是来源主机,
    • 1.任意@% 表示来自任意主机的任意用户都可以登陆
    • 2.任意@localhost 表示只有本机的任意用户名可以登陆,localhost是本地回路的域名
    • 3.root@127.0.0.1 表示本机的root用户可以登陆,127.0.0.1是本地回路的ip地址
    • 4.root@::1 表示本机的root用户可以登陆,::1是ipv6本机地址的压缩表示罚,相当于127.0.0.1的ipv6版
    • 5.root@localhost 表示只有本机root用户可以登陆, localhost同上

    • 修改用户表数据:update user set host="%" where host="localhost"; (或者你新增一个用户)
    • 修改用户表密码的SQL语句比较特殊:update user set password=password("新密码") where user="root"; 
    • 刷新数据库:mysql>flush privileges;
    • 退出数据库:mysql> quit;
    • 重启MySQL服务:net stop mysql          net start mysql

二、如果你安装数据库时,对MySQL默认的数据库端口进行了修改,则远程访问的时候会出现报错,显示“2003- Can't connect MySQL Server on 'localhost'(10038)“。

这种情况就需要你去修改入站规则,放开端口了:

这里有具体的操作步骤,就不详细写了:修改Windows入站规则


0 0
原创粉丝点击