1、登录到mysql中,为root进行远程访问的授权,执行下面的命令:
mysql
GRANT
ALL
PRIVILEGES
ON
*.*
TO
root@"%"
IDENTIFIED
BY
"root"
mysql
flush
privileges
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT
ALL
PRIVILEGES
ON
*.*
TO
root@"172.168.193.25"
IDENTIFIED
BY
"root"
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:
bind-address
=
127.0.0.1
将其注释掉,保存。
3、重新启动MySQL服务器。执行下面的几条命令即可:
#
/usr/bin/mysqladmin
-u
root
-p
shutdown
#
/usr/bin/mysqld_safe
&
如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如:
#
whereis
mysqladmin
执行完上面的三步后,就可以通过远程机器连接了数据库了。
利用 GRANT 语句进行授权:grant select on testdb.* to root@'%';
上述语句意思为只将对数据库testdb的查询权限授予root用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
上述语句意思为将对所有数据库的所有权限都授权给root用户!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)