liunx下mysql5.6创建用户并给指定的数据库授权详解

环境:cenOS6.5+mysql 5.6

直接上菜: 
1。mysql -u用户名 -p 密码,进入mysql 

liunx下mysql5.6创建用户并给指定的数据库授权详解
 
2。选择mysql数据库 use mysql 
 liunx下mysql5.6创建用户并给指定的数据库授权详解
3。我常用的用户两种方式创建 
3.1 第一种

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

  创建了一个名为:abc密码为:1234 的用户。

注意:此处的”localhost”,是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将”localhost”改为”%”,表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。

3.2 第二种

命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 
CREATE USER 'abc'@'host' IDENTIFIED BY '1234'; 
创建了一个名为:abc密码为:1234 的用户。

两种方式用那个都可以,看自己习惯。

mysql>exit;

  @>mysql -u abc -p

  @>输入密码

  mysql>登录成功

直接看下面
授权: 
格式: 
grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”; 

1。用root权限登录mysql,为其它用户授权
mysql>mysql -u root -p

  mysql>密码

1.2 首先为用户创建一个数据库(testdb)

mysql>create database testdb;
1
1.3 授权abc用户拥有testDB数据库的所有权限(某个数据库的所有权限):

  mysql>grant all privileges on testdb.* to [email protected] identified by '1234';

   mysql>flush privileges;//刷新权限

  格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"; 

  1.4 如果想指定部分权限给一用户,可以这样来写:

 mysql>grant select,update on testdb.* to [email protected] identified by '1234';

  mysql>flush privileges; //刷新权限

  1.5 授权test用户拥有所有数据库的某些权限:  

mysql>grant select,delete,update,create,drop on *.* to [email protected]"%" identified by "1234";

//abc用户对所有数据库都有select,delete,update,create,drop 权限。

//@"%" 表示对所有非本地主机授权,不包括localhost。

//对localhost授权:加上一句grant all privileges on testdb.* to [email protected] identified by '1234';即可。

删除用户

   mysql>mysql -u root -p

  mysql>密码

   mysql>Delete FROM user Where User='abc' and Host='localhost';

   mysql>flush privileges;

   mysql>drop database testdb; //删除用户的数据库
   删除账户及权限:>drop user 用户名@'%';

        >drop user 用户名@ localhost; 

修改指定用户密码

mysql>mysql -u root -p

    mysql>密码

    mysql>update mysql.user set password=password('新密码') where User='abc' and Host='localhost';

    mysql>flush privileges;

注意: 
在操作mysql库做用户的增删修改的时候,操作完毕的时候必须要使用flush privilege命令刷新一下权限。否则 修改不生效。