苦瓜不苦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、mysql使用本身环境下面mysql数据库中的user来管理用户及权限

mysql> use mysql;
Database changed
mysql> select user,host from user;
+------+-----------+
| user | host |

+------+-----------+
| root | 127.0.0.1 |

| | localhost |
| test | % |
+------+-----------+
3 rows in set (0.00 sec)
其中,%表示可以在任意地点通过该用户访问数据库,localhost表示只能本机访问
如上所示,test账户具备远程登录权限,root用户则只有本地登录权限。

2、下面命令就是添加远程访问权限(*.*表示所有database的所有表,第一个root是远程登陆名,第二个是远程登陆的密码)

先上语法:

grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by ['密码'];

实例

mysql> grant all on lportal.* to 'root'@'192.168.1.21 identified by 'root';
mysql> grant select,update,insert,delete on lportal.* to
'root'@'192.168.1.21 identified by 'root';
mysql> grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
Query OK, 0 rows affected (0.00 sec)
在查看一下各个用户访问数据库的host
mysql> select user,host from user;
+------+-----------+
| user | host |

+------+-----------+
| root | % |

| root | 127.0.0.1 |
| | localhost |
| test | localhost |
+------+-----------+
4 rows in set (0.00 sec)
这样就可以远程连接这个数据库了。
注意,此时如果用%替代还不能远程登录,可以考虑对单个IP进行授权,如:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

3、也可以采用直接更新数据库的方法来获得远程访问的权限:
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;//用户付完权限后对数据进行刷新时用!要不Mysql数据库识别不了
4、远程连接数据库命令
mysql> mysql -h192.168.137.234 -P3306 -uroot -proot





参考链接:

http://blog.163.com/ruihuadesunny@126/blog/static/39026191200972745632454/

http://www.wasw100.com/blog/226

posted on 2012-02-10 09:53  苦瓜不苦  阅读(761)  评论(0编辑  收藏  举报