在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。缺省状态下,mysql的用户没有远程访问的权限。
下面介绍两种方法,解决这一问题。
1、改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
1
2
3
4
|
mysql -u root -p
mysql>use mysql;
mysql>
update
user
set
host =
'%'
where
user
=
'root'
;
mysql>
select
host,
user
from
user
;
|
2、授权法
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION
//赋予任何主机访问数据的权限
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
1
2
|
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'
@
'%'
IDENTIFIED
BY
'mypassword'
WI
TH
GRANT
OPTION
;
|
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
1
2
|
GRANT
ALL
PRIVILEGES
ON
*.*
TO
'myuser'
@
'192.168.1.3'
IDENTIFIED
BY
'mypassword'
WITH
GRANT
OPTION
;
|
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
退出MySQL服务器,这样就可以在其它任何的主机上以root身份登录
以上所述是小编给大家介绍的MySQL数据库远程访问的权限如何打开,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
建议不修改root 而是直接添加一个,否则有不可预知错误啊!