之前我们一直都使用root身份来对mysql进行操作,但这样存在安全隐患。这时,就需要使用MySQL的用户管理
目录
一、用户
1.1 用户信息
在MySQL中所有允许被登录的用户信息都被存放在系统数据库mysql的user表中:

来看看这张表中有着什么样的信息:

在上表中我们先介绍几个比较关键的列:
所以我们在对用户信息做修改,本质上是对这个user表做修改!
1.2 添加用户
我们在数据库下添加用户,本质上可以使用insert语句向user表中插入数据,但表中要插入的数据太多了,insert语句在这里就显的不实用了,mysql提供下列语句来方便我们插入用户数据:
create user '用户名'@'登陆主机/ip' identified by '密码'; 
在我们对user表做了任何修改后,都要下面的语句刷新一下,才能生效:
flush privileges; 
 
1.3 删除用户
mysql提供下列语句供我们删除用户:
drop user '用户名'@'主机名'; 
 
1.4 修改用户密码
自己改自己密码:
set password=password('新的密码'); 
root用户修改指定用户的密码:
set password for '用户名'@'主机名'=password('新的密码'); 
修改完后记得刷新一下哦:
flush privileges; 
 
二、用户权限
在mysql下用户共有以下权限:
| 权限 | 列 | 上下文 | 
|---|---|---|
| CREATE | Create_priv | 数据库、表或索引 | 
| DROP | Drop_priv | 数据库或表 | 
| GRANT OPTION | Rant_priv | 数据库、表或保存的程序 | 
| REFERENCES | References _priv | 数据库或表 | 
| ALTER | Alter_priv | 表 | 
| DELETE | Delete_priv | 表 | 
| INDEX | Index_priv | 表 | 
| INSERT | Insert_priv | 表 | 
| SELECT | Select_priv | 表 | 
| UPDATE | Update_priv | 表 | 
| CREATE VIEW | Create_view_priv | 视图 | 
| SHOW VIEW | Show_view_priv | 视图 | 
| ALTER ROUTINE | Alter_routine_priv | 保存的程序 | 
| CREATE ROUTINE | Create_routine_priv | 保存的程序 | 
| EXECUTE | Execute _priv | 保存的程序 | 
| FILE | File_priv | 服务器主机上的文件访问 | 
| CREATE TEMPORARY TABLES | Create_tmp_table_priv | 服务器管理 | 
| LOCK TABLES | Lock_tables _priv | 服务器管理 | 
| CREATE USER | Reate_user_priv | 服务器管理 | 
| PROCESS | Process_priv | 服务器管理 | 
| RELOAD | Reload_priv | 服务器管理 | 
| REPLICATION CLIENT | Repl_client_priv | 服务器管理 | 
| REPLICATION SLAVE | Repl_slave_priv | 服务器管理 | 
| SHOW DATABASES | show_db_priv | 服务器管理 | 
| SHUTDOWN | Shutdown_priv | 服务器管理 | 
| SUPER | Super_priv | 服务器管理 | 
2.1 赋予授权
刚创建的用户没有任何权限。需要通过下列语句给用户授权:
grant 权限列表 on 库名.表名 to '用户名'@'登陆位置' [identified by '密码']; 
注意:
2.2 回收权限
我们可以使用下列语句来回收用户的权限:
revoke 权限列表 on 库名.表名 from '用户名'@'登陆位置'; 
感谢各位的阅览~
更多MySQL技能请看:http://t.csdn.cn/W9dQl
博主努力更新中~










