文章目录
Mysql的管理与维护
数据库的用户管理
Mysql用户可以分为普通用户和root用户。
root用户是超级管理员,拥有所有权限。
普通用户只拥有被授予的各种权限。
权限表:
mysql服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库中。
存储账户的权限信息表主要有:user、db、host、table_priv、columns_priv和procs_priv。
各个权限表的作用
1、user表是Mysql中最重要的一个权限表,记录允许连接到服务器的账户信息,里面的权限是全局级的。
2、db表和host表是Mysql数据中非常重要的权限表;
db表中存储了用户对某个数据库的操作权限;
host表中存储了某个主机对数据库的操作权限。
3、table_priv表用来对表设置操作权限;
4、columns_priv表用来对表的某一列设置权限;
5、procs_priv表可以对存储过程和存储函数设置操作权限。
账户管理
新建普通用户
创建新用户,必须有应用的权限来执行创建操作;
在MYSQL数据库中,可以使用CREATE USER或GRANT语句。
一、使用CREATE USER语句创建新用户
基本语法格式:
CREATE USER ‘user’@‘host’
INDENTIFIED BY [PASSWORD] ‘password’
案例;
mysql> create user ‘rose’@‘localhost’ identified by ‘rosepwd’;
Query OK, 0 rows affected (0.42 sec)
mysql> select user,host from mysql.user;
不设置密码:
create user ‘rose’@‘localhost’;
设置哈希密码:
select password(‘rosepwd’);
create user ‘rose’@‘localhost’ identified by ‘密码的哈希值’;
二、GRANT语句:
CREATE USER语句可以用来创建账户,通过该语句可以在user表中添加一条新的记录,但是CREATE USER语句创建的新用户没有任何权限,还需要使用grant语句赋予用户权限。
而grant语句不仅可以创建新用户,还可以在创建的同时对用户授权。
使用grant语句创建新用户:
基本语法格式:
GRANT privileges ON db.table
TO ‘user’@‘host’ [INDENTIFIED BY ‘password’];
案例:
grant select,update on . to ‘testuser’@‘localhost’ identified by ‘testpwd’;(有问题)
删除普通用户
在mysql数据库中,可以使用DROP USER 语句删除用户,也可以直接通过DELETE语句从MYSQL.user表中删除对应的记录来删除用户。
使用DROP USER 语句删除用户:
语法:
DROP USER user[,user];
例如:
DROP USER ‘testuser’@‘localhost’;
使用DELETE 语句删除用户:
DELETE FROM mysql.user WHER