mysql 怎么设置本机访问权限

mysql 怎么设置本机访问权限,第1张

方法/步骤

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配置文件,搜索“bind-address”,找到这一行:

bind-address = 127.0.0.1 在前面加一个#,注释掉这一行,保存,重启MySQL。

再通过远程访问就可以了,telnet可以发现端口也打开了。

例配置:

1. 确保skip-networking被删除或者屏蔽,否则不支持TCP/IP 访问

2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 为你的服务器地址

修改后,配置为:

[mysqld]

user = mysql

pid-file = /var/run/mysqld/mysqld.pid

socket = /var/run/mysqld/mysqld.sock

port = 3306

basedir = /usr

datadir = /var/lib/mysql

tmpdir = /tmp

language = /usr/share/mysql/English

bind-address = 65.55.55.2

# skip-networking

   

保存并关闭配置文件

重启mysql服务器:# /etc/init.d/mysql restart

如果上面办法没有用我们可以通用mysql命令模式进行设置:

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"   

CODE:mysql -u root -p123

mysql>use mysql

mysql>update user set host = '%' where user = 'root'

mysql>select host, user from user

 

/etc/mysql/my.cnf 找到 bind-address =127.0.0.1 将其注释掉;//作用是使得不再只允许本地访问; 重启mysql:/etc/init.d/mysql restart2:登录mysql数据库:mysql -u root -p mysql>use mysql查询host值: mysql>select user,host from ...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7340530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存