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

修改MySQL用户的权限

2016-07-15 10:55 411 查看
1. 新增用户

Sql代码  

mysql>insert into mysql.user(Host,User,Password) values("localhost","lionbule",password("hello1234"));  

mysql>flush privileges;

2. 修改用户密码

Sql代码  

mysql>update mysql.user set password=password('new password') where User="lionbule" and Host="localhost";  

mysql>flush privileges; 

3. 删除用户

Sql代码  

mysql>DELETE FROM user WHERE User="lionbule" and Host="localhost";  

mysql>flush privileges; 

4. 权限分配

    4.1. grant用法

           grant 权限 on 数据库.* to 用户名@'登录主机' identified by '密码'

Doc代码  

权限:  

    常用总结, ALL/ALTER/CREATE/DROP/SELECT/UPDATE/DELETE  

数据库:  

     *.*                    表示所有库的所有表  

     test.*                表示test库的所有表  

     test.test_table  表示test库的test_table表       

用户名:  

     mysql账户名  

登陆主机:  

     允许登陆mysql server的客户端ip  

     '%'表示所有ip  

     'localhost' 表示本机  

     '192.168.10.2' 特定IP  

密码:  

      账户对应的登陆密码 

 4.2 例子

Sql代码  

mysql>grant all  on test.* to lionbule@'%' identified by 'hello1234';  

mysql>flush privileges;  
    新增密码为'hello234'的用户lionbule对test库拥有所有操作权限,并不限制lionbule用户的登陆IP。     

    4.3 注意事项

          grant 会覆盖用户的部分信息,跟insert 、update执行功能一样.
          我在做宁波的考勤时,犯过以下错误:lionbule@'%'把这个改成了locahost.第二个:改完了以后,就可以在phpmyadmin 中使用单用户访问了。
5. 来几个例子
          mysql>grant select,insert,update,delete,create,drop on vtdc.employee to joe@10.163.225.87 identified by '123′;
          给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。
          mysql>grant all privileges on vtdc.* to joe@10.163.225.87 identified by '123′;
          给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。
          mysql>grant all privileges on *.* to joe@10.163.225.87 identified by '123′;
          给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
          mysql>grant all privileges on *.* to joe@localhost identified by '123′;
          给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。
          添加用户所有权限:
          grant all on *.* to 'linjia'@'%' identified by 'pwd' with grant option ;
          添加用户,指定数据库,同时开放增、删、改、查权限:
          grant select,insert,update,delete on db_name.* to 'linjia'@'%' identified by 'pwd';
          删除用户:
          DELETE FROM mysql.user WHERE USER='linjia' AND HOST='%' ;
          DELETE FROM mysql.db WHERE USER='linjia' AND HOST='%' ;
          DELETE FROM mysql.tables_priv WHERE USER='linjia' AND HOST='%' ;
          DELETE FROM mysql.columns_priv WHERE USER='linjia' AND HOST='%' ;
          DELETE FROM mysql.procs_priv WHERE USER='linjia' AND HOST='%' ;
注:在以上执行完成之后,要让其生效,必须再执行flush privileges; 才能生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: