Mysql 用户管理(密码和权限)

重要说明

 mysql 新设置用户或更改密码后需执行flush privileges刷新MySQL的系统权限相关表,否则变更不会生效;

 #mysql>flush privileges;

 

【创建删除用户】

 1、创建用户

     无限制IP用户:CREATE USER username IDENTIFIED BY 'password'

     限制ip用户:CREATE USER username@ip IDENTIFIED BY 'password';

 

 2、删除用户
     #mysql>use mysql;
     #mysql>delete from user where user="xxxxx" and host="localhost";
     #mysql>flush privileges;

 

 

【修改用户密码】

 方法太多,在此仅说两种。

 1、使用grant命令

     mysqladmin -h hostname -u user password  'new password'

     mysqladmin -uroot -p***** password 'new password'

 

 2、sql语句

     use mysql;

     update user set password=password('new-password ') where user='root ';

 

 

【赋予用户权限】

 1、简介

     grant all on databaseName .* to newuser @localhost identified by 'password ';

 

     说明:
       1、grant all     

            赋予用户所有的权限。主要包含如下14个权限select:insert:update:delete:create:drop:index:alter:grant:references:reload:shutdown:process:file 等。
       2、databaseName .*         

            数据库 databaseName 中所有的表。*.*表示赋予用户所有数据库所有表的权限。
       3、newuser        

            用户名
       4、@localhost     

            在本地电脑上的 mysql server 服务器。'%'表示从任何地址连接。
       5、identfified by 'password'    

            设置密码。不可缺少,否则命令执行失败。

 

  2、例子

       mysql>grant select,insert,update,delete,create,drop on vtdc.employee to [email protected] identified by '123';
       给来自10.163.225.87的用户joe分配可对数据库vtdc的employee表进行select,insert,update,delete,create,drop等操作的权限,并设定口令为123。

        mysql>grant all privileges on vtdc.* to [email protected] identified by '123';
        给来自10.163.225.87的用户joe分配可对数据库vtdc所有表进行所有操作的权限,并设定口令为123。

        mysql>grant all privileges on *.* to [email protected] identified by '123';
        给来自10.163.225.87的用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

        mysql>grant all privileges on *.* to joe@localhost identified by '123';
        给本机用户joe分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123。

 

 

你可能感兴趣的:(sql,mysql,SQL Server)