您的位置:首页 > 数据库 > MySQL

mysql设置远程访问

2013-07-25 11:31 211 查看
MySQL远程访问,也就是通过ip访问MySQL服务,MySQL对于安全的要求是非常严格的,需要授权。

MySQL数据库赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户

1.本地访问
1.GRANT ALL PRIVILEGESON *.* TO admin@localhost IDENTIFIED BY 'admin' WITH GRANT OPTION ; 2.FLUSH PRIVILEGES;
上述命令的意思是为admin用户授权所有权限ALL,以localhost方式访问数据库,密码为admin,这是我们推荐的访问方式,不直接暴露IP,提高数据库服务器的安全性。PRIVILEGES 特权,此关键字可以省略。

2.远程访问
如果数据库服务器与应用服务器物理层面分割,也就是不在同一台服务器的时候,我们需要通过ip方式访问,这个ip就是数据库服务器主机IP。 1.GRANT ALL PRIVILEGES ON *.* TO admin@192.168.100.1 IDENTIFIED BY 'admin' WITH GRANT OPTION;
2.FLUSH PRIVILEGES;当然,这里授予admin用户WITH GRANT OPTION权限,欠稳妥!如果一个用户从远程登录修改了数据库表结构等等,是非常有风险的!(GRANT OPTION 是指admin所拥有的权限也grant其他用户,一般不建议这么操作。)通常不建议授予授予其他用户权限权力,即: 1.GRANT ALL PRIVILEGESON *.* TO admin@192.168.100.1 IDENTIFIED BY 'admin';
2.FLUSH PRIVILEGES;

3.任意访问
如果不限制ip访问,授权某个用户可以以任意ip访问该服务,可以这样写:

1.GRANT ALL PRIVILEGES ON *.* TO admin@'%' IDENTIFIED BY 'admin';
2.FLUSH PRIVILEGES;

注意单引号!

4.取消授权
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可:
1.REVOKE ALL ON *.* FROM admin@192.168.100.1;
2.FLUSH PRIVILEGES;
5. 查看 MySQL 用户权限
查看当前用户(自己)权限:
show grants;
查看其他 MySQL 用户权限:
show grants for dba@localhost;

6.MySQL grant、revoke 用户权限注意事项
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。

2. 如果想让授权的用户,也可以将这些权限 MySQLgrant 给其他用户,需要选项 “grant option“
grant select on testdb.* to dba@localhost with grant option;

本文出自 “石头蛐蛐” 博客,请务必保留此出处http://shitouququ.blog.51cto.com/24569/1256862
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: