基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。下面是基本的步骤:
1、登录到mysql中,为root进行远程访问的授权,执行下面的命令: mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; mysql> flush privileges; 'MyPassword'是给授权用户指定的登录数据库的密码;另外需要说明一点的是我这里的都是授权所有权限,可以指定部分权限,GRANT具体操作详情见:http://dev.mysql.com/doc/refman/5.1/en/grant.html 第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如: GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root"; 第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
2、修改/etc/mysql/my.cnf,需要root用户权限。找到文件中的:
将其注释掉,保存。
3、重新启动MySQL服务器。执行下面的几条命令即可: # /usr/bin/mysqladmin -u root -p shutdown # /usr/bin/mysqld_safe & 如果mysqladmin和mysql_safe不在/usr/bin目录中,可以通过whereis命令查找,例如: # whereis mysqladmin mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz
执行完上面的三步后,就可以通过远程机器连接了数据库了。 |