Ubuntu系统下打开MySQL数据库远程访问权限

Ubuntu系统下打开MySQL数据库远程访问权限

第一步:设置MySQL数据库允许远程访问

1.查看数据库用户表

MySQL数据库在默认情况下是只允许本地连入的,即用户仅能为“localhost”,具体信息可以用以下方法查看:

打开终端,输入

$ mysql -u root -p

进入mysql数据库,然后进入数据库“mysql”

mysql> use mysql	

在数据库中查询“user”表中的“User”和“Host”信息

mysql> SELECT `Host`,`User` FROM user;

查询结果如下

+--------------+-------------------------+
| Host     	   	   | User       		    		   |
+--------------+-------------------------+
|  localhost   | root       		       		   |
|  localhost   | debian-sys-maint  |
|  localhost   | mysql.session    	   |
|  localhost   | mysql.sys        		    |
+--------------+-------------------------+
4 rows in set (0.00 sec)

可以看到用户“root”的Host是localhost,代表仅允许root用户在数据库所在设备登录,如果想使用root用户远程访问数据库,需要将“localhost”改为“%”(也可以新建一个允许远程访问的User,这样可以分开管理权限);

2.开启远程访问权限

开启远程访问权限可以使用赋权操作

使用赋权操作:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
(网上有直接修改“user”表的操作,我一开始也使用的这种办法,没有效果,还是无法远程访问,改为赋权操作后可以,怀疑只修改表的操作有问题)

此时再查询用户表会发现用户“root”的“Host”变为了“%”,这样数据库的修改就结束了

+--------------+-------------------------+
| Host     	   	   | User       		    		   |
+--------------+-------------------------+
|  %  				  | root       		       		      |
|  localhost   | debian-sys-maint  |
|  localhost   | mysql.session    	   |
|  localhost   | mysql.sys        		    |
+--------------+-------------------------+
4 rows in set (0.00 sec)

第二步:检查防火墙状态

即使在数据库中开放了权限,但没有在防火墙中开放使用的端口,远程设备仍然无法连接到数据库,当尝试ping数据所在设备IP没问题,但测试端口出现无响应的问题时,大概率是因为防火墙阻止了此端口的访问,可以通过以下方式查看

$ sudo ufw status

显示结果分为两种:

结果1:
状态:不活动
代表防火墙未打开;
结果2:
状态: 激活

至                          动作         		 	来自
    -                          --         				 --
3306                      ALLOW      	 Anywhere
3306 (v6)             ALLOW      	 Anywhere (v6)
代表防火墙已打开,并开放3306端口;

当防火墙打开且没有开放所需端口时,远程设备无法访问,可以通过关闭防火墙或设置所需端口开放或设置对远程设备IP开放所有端口的操作解决;

关闭防火墙:
$ sudo ufw disable

设置端口3306开放:
$ sudo ufw allow 3306

设置对特定IP开放所有端口:
$ sudo ufw allow from 192.168.255.255

修改完防火墙后需要重启电脑生效,重启完成后即设置数据库允许远程访问完成。

总结

1.开启数据库远程访问权限时不要直接修改“user”表的内容,使用赋权语句;
2.防火墙在关闭状态下可以允许任意来源的访问;
3.如果不想关闭防火墙需要开放端口或允许来自特定IP的访问;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值