如何用SQLyog为数据库用户分配权限(解决问题马上结贴)

mysxnet 2008-06-17 04:50:43
环境:Win2003下使用SQLyog 6.5管理MySQL 5.0数据库

需求:建立多个不同的数据库,分别用不同的用户来管理对应的数据库,用户之间互相隔离。实际用途就是给每个网站分配一个数据库,然后每个网站程序都用一个单独的数据库用户名连接各自的数据库。

建立了数据库test_1和test_2,分别用数据库用户test_user1和test_user2来管理。test_user1只能管理test_1,不能管理服务器上其他的数据库。

请问如何设置数据库用户权限来保障服务安全?以及怎样在SQLyog中完成这个操作。

请高手解答,谢谢!



...全文
664 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysxnet 2008-06-17
  • 打赏
  • 举报
回复
明白了,谢谢!

结贴。
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
test
mysxnet 2008-06-17
  • 打赏
  • 举报
回复
MySQL软件安装好后就有三个数据库,information_schema、mysql、test,这三个哪些是没有用可以删除的?
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 mysxnet 的回复:]
就是说一般选择select insert update delete create这几个就够了?
下面的像index这些是否需要呢?
[/Quote]
YES,
面的像index这些是否需要呢?
,一般的用户 NO

一般选择select就OK了
mysxnet 2008-06-17
  • 打赏
  • 举报
回复
就是说一般选择select insert update delete create这几个就够了?
下面的像index这些是否需要呢?
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
取决于用户的操作,一般查询即SELECT就可以了,如要添加、删除、替换,设置
INSERT、DELTE、UPDATE,根据你的具体情况而定
mysxnet 2008-06-17
  • 打赏
  • 举报
回复
谢谢大家!
我对MySQL不是很熟悉,还想问一下,添加用户时(图1)设置test_user1全局权限的时候应该选择哪些权限项目?
数据库是网站的dede或ecms之类的cms程序用的,为了安全,只要满足能正常运行这些程序就可以了,不需要很高权限,但是我不清楚需要选择哪些权限。望高手指点。
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
下面的两条命令为database1和database2设置了SELECT用户权限。

GRANT SELECT ON database1.* to 'abc'@'server1' IDENTIFIED BY 'password1';

GRANT SELECT ON database2.* to 'abc'@'server1' IDENTIFIED BY 'password2';

第一条命令设置了用户abc在连接数据库database1时使用password1。第二条命令设置了用户abc在连接数据库database2时使用password2。因此,用户abc在连接数据库database1和database2的密码是不一样的。

上面的设置是非常有用的。如果你只想让用户对一个数据库进行有限的访问,而对其它数据库不能访问,这样可以对同一个用户设置不同的密码。如果不这样做,当用户发现这个用户名可以访问其它数据库时,那将会造成麻烦。
dengshangkun 2008-06-17
  • 打赏
  • 举报
回复
哈哈,正好我也要用到,借个地方问了问题,谢谢wwwwb.

楼主也可以参考下:http://xhl.cqwu.net/article.asp?id=111
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
yes
dengshangkun 2008-06-17
  • 打赏
  • 举报
回复
GRANT privileges (columns) ON what TO user IDENTIFIED BY "password" WITH GRANT OPTION 

what改成对应的数据库就可以了吧?
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dengshangkun 的回复:]
"Test_user1只能管理test_1:Test_user1在test_2中没有任何权限就OK了"
这个应该怎么设置呢?

[/Quote]
就是在Test_user1在test_2中没有SELECT、UPDATE等等,即不选中任何选项。
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
也就是说,首先设置各个用户的全局权限,比如SELECT、INSERT等等,第二个是设置各个用户
在不同的数据库中的权限(权限级别)
dengshangkun 2008-06-17
  • 打赏
  • 举报
回复
"Test_user1只能管理test_1:Test_user1在test_2中没有任何权限就OK了"
这个应该怎么设置呢?
wwwwb 2008-06-17
  • 打赏
  • 举报
回复
1、输入用户名、密码,设置其权限,SELECT、DELETE、UPDATE等等;
2、Test_user1只能管理test_1:Test_user1在test_2中没有任何权限就OK了。

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧