MySQL权限管理

一、权限表
1、user表
用户列
权限列
安全列
权限控制列
2、db表和host表
用户列
权限列
3、tables_priv表(表和列的权限)和columns_priv表(列上权限)
4、procs_priv表
 
二、账户管理
1、mysql命令登录
mysql -h hostname|host ip -p port -u username -p databasename -e "sql语句"
2、退出:
exit
quit
\q
3、新建普通用户
(1)create user语句来新建普通用户
create user 'test1'@'localhost' identified by 'test1';
(2)insert语句
insert into mysql.user(host,user,password) values(,,);
执行insert语句后要更新权限表才可以登录
flush privileges;
(3)用grant语句来新建普通用户
grant pri_type database.table
to user identified by password 
grant select on *.* to 'test1'@'local host' identified by 'test1';
4、删除普通用户
(1)drop user 基本语法
drop user 'test1'@'localhost';
(2)delete语句
delete from mysql.user 
where host='localhost' and user='test1';
执行delete语句后要更新权限表才可以登录
flush privileges;这样删除才可以生效
5、root用户修改自己的密码
(1)使用mysqladmin来修改root用户密码
mysqladmin -u root -p password "newpassword"
(2)修改mysql数据库下的user表(要更新权限表)
update mysql.user set password=password("newpassword")
where host='localhost' and user='root';
flush privileges;
(3)使用set语句
set password=password("newpassword");
6、root用户修改普通用户密码
(1)使用set语句修改普通用户密码
set password for 'test1'@'localhost' =password("新密码");
(2)修改mysql下的user表
update mysql.user set password=password("newpassword")
where host='localhost' and user='test1';
flush privileges;
(3)用grant语句来修改普通用户密码
grant select on *.* to 'test1'@'local host' identified by '新密码';
7、普通用户修改密码
set password=password('newpassword');
7、root用户密码丢失解决办法
1、使用--skip-grant-tables选项启动mysql服务
2、登录root用户,并且设置新的密码
3、加载权限表
 
三、权限管理
1、授权(grant)
2、收回权限(revoke
revoke priv_type[(column_list)]…
on database.table
from user[.user]…
收回所有权限
revoke all privileges,grant option from user[.user]…
实例:
revoke update on *.*
from 'username'@'localhost';
3、查看权限
select * from mysql.user;
posted @ 2014-02-10 15:34  午时的海  阅读(315)  评论(0编辑  收藏  举报