liunx下mysql5.6创建用户并给指定的数据库授权详解
环境:cenOS6.5+mysql 5.6
直接上菜:
1。mysql -u用户名 -p 密码,进入mysql
2。选择mysql数据库 use mysql
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命令刷新一下权限。否则 修改不生效。