我装完mysql后,发现有这样一些用户分别是:
@%
@localhost
root@%
root@localhost
请问这些用户都是干什么用的?那些有用,那些没用?我的网站上应设几个用户,怎样为某个分配权限
另外?
怎么将某个用户设为只能本机访问?

解决方案 »

  1.   

    root@%
    代表 root用户 在任意机器上可以登陆,其他类推 %表示任意
      

  2.   

    如果是:用户名@密码那为什么我无密码就可以用root@localhost连接登陆呢
      

  3.   

    应该是:用户名@客户机IP地址
    比如root@localhost,表示用户名为root,可以在数据库本机登陆
      

  4.   

    root@localhost这个用户就只能本机访问,一般就用这个用户就可以了。你要看是不是本机用户,实际上要看mysql.user表中的host字段是不是localhost或者127.0.0.1
    然后你再给需要连数据库的IP开用户:[email protected],这样形式的用户,开用户的语法为:
    GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY 'something' WITH GRANT OPTION;然后在mysql.user表中,应该有三个字段,user,password和host,user值应该就是user1,password是something(加密了的),host值为xxx.xxx.xxx.xxx.
    这个用户就是表示用户名为user1,xxx.xxx.xxx.xxx这台机器可以用user1连上数据库,口令是something,权限是所有表的所有权限(ALL PRIVILEGES ON *.* )。
    如果要给其他IP开用户,像上面那样操作就可以了。
      

  5.   

    谢谢 wufengdao(刀刀) ( ) 信誉:100