1
在未配置MySQL之前,根据MySQL服务端的信息,用navicate客户端进行连接测试,如图一、图二所示
2
在MySQL所在机器上登录root用户,如图三所示
3
切换到mysql库,并查看user表,如图四所示
use mysql
select host,user,password from user
4
修改host列的用户,建议修改localhost用户,如图五所示
执行命令如下:
update user set host = '%' where host = 'localhost'
select host,user,password from user
flush privileges
5
再次用navicate客户端进行连接测试,如图六所示
END
FAQ
1
为什么只改一条呢?
因为%代表了任何ip地址均可以访问此mysql库,所以只有一条%记录即可,多条无意义,如需根据不同的ip、不同用户有不同的权限访问,可设置为多条。
2
为什么只是修改某条user记录,而不是insert一个用户呢?
因为新增的用户,相关权限是没有的,如果新纪录的各项都设置为Y,则权限过大,如果新纪录的各项都设置为N,则权限过小,远程登录之后,无法进行其他 *** 作。
mysql数据库远程访问设置方法1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%"
mysql>use mysql
mysql>update user set host = '%' where user = 'root'
mysql>select host, user from user
mysql>FLUSH PRIVILEGES
2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION
使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION
3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION//赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)