SQLyog远程连接MySQL数据库

今天公司服务器安装了Nginx服务器,因为原来有Apache服务器,本来可以在远程浏览器直接访问MySQL数据库,今天访问的时候显示的是找不到Nginx服务器,所以我就换了个方式用SQLyog客户端来进行连接。接着又遇到问题了客户端显示的是“拒绝访问”。从网上查看了一些资料说是因为没有给你的电脑在MySQL中授权。所以就有一下几个解决方法。


  1. 第一个方法是新建一个数据库用户,给这个新用户来进行相应的授权(授权的内容是你希望连接的客户端所能做的一些例如增删改查的操作)
    授权格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;例如:
grant select,update,insert,delete on *.* to root@127.0.0.1 identified by "yourpassword";

如果操作执行成功会显示:

这里写图片描述

然后你可以执行以下下面的语句来查看你的授权用户是否已经存在。

mysql> select Host,User,Password from user ;

显示:

这里写图片描述

如果你的用户存在的话你就可以进行远程访问了。

当然这里有一些小小的建议,如果你现在是在本地做测试,我的建议是你可以将IP地址换成”% “,同时给这个用户授予所有的权限也可能是一个不错的选择(* . *)。当然,这就看你的实际开发选择了。

这里是我对我本地电脑进行的设置:

这里写图片描述


2.还有一个方法是你可以通过该现有的表字段来进行原有用户的授权以及IP设置。

use mysql;

update user set host = '%' where user = 'root';

注意:这个方法我没有具体操作过,我不敢保证一定可以成功,不过我感觉操作的原理都是一样的,所以应该是可行的。我的建议是用上面的方法来进行操作,这样更加方便,同时也不污染用户授权,当你开发完毕之后,需要dba来进行数据库的管理工作的时候可以将这个授权用户取消,这样可以更加安全,同时也可以做到责任到人,谁进行过数据库的修改都可以从日志库中查找出来。

这是我的一些记录,同时也希望对你有一定的帮助!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章