把mysql部署在局域网的服务器上,远程连接mysql时报错误代码1130 Host ‘***.***.***.***’is not allowed to connect to this MySQL

==刚学习mysql的时候,知道DBMS分为两类:
①基于文件共享的dbms(access)
②基于客户机–服务器的DBMS(Mysql、Oracle),在使用客户端时需要安装服务端,数据也存储在服务端

既然mysql安装时直接安装在本机时,服务端也在本机上装着,我就考虑在机房找一台电脑当作服务器,自己电脑上装上SQLyog小海豚工具。远程连接一下数据库。

1、刚开始连接时,出现了以下错误:

错误代码1130
Host ‘***.***.***.***’is not allowed to connect to this MySQL server
在这里插入图片描述

2、查明错误原因:

原因是MySQL默认不支持远程连接,(那么phpMyAdmin为什么可以连接呢?那是因为phpMyadmin的环境是上传到服务器的,其本身访问数据库是相当于本机localhost访问的)

在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。

3、解决问题(指定主机来连接mysql)

3.1.通过命令行使用root用户连接到mysql服务器,并进入mysql数据库
输入:mysql -h localhost -u root -p
== 然后输入密码,然后照着下面的代码输就ok了==

mysql> use mysql
Database changed

3.2.使用grant语句进行授权

all privileges:表示所有数据库权限
on *.*:表示在所有表,视图,函数等等,可以是具体的数据库下的某个表,某个视图。 如demoDB.testTable
'root'@172.16.48.65:表示允许root用户从IP为172.16.48.65的主机连接mysql服务器。
identified by 'admin':表示root用户从172.16.48.65远程连接的密码。
 with grant option:表示root从172.16.48.65主机连接后可以将权限再次使用grant语句将权限授予其他用户。

输入如下代码

mysql> grant all privileges on *.* to 'root'@172.16.48.65 identified by 'admin' with grant option ;
Query OK, 0 rows affected (0.00 sec)

3.3.刷新权限

mysql> flush privileges ;
Query OK, 0 rows affected (0.00 sec)

4、提升,让任何主机都能连接mysql

可以输入一下代码:

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

上述两种都能连接局域网内任何主机上的mysql了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值