user表:用户帐号,全局权限,非权限字段
db表:库级别的权限
host: 已经废弃没用
tables_priv:表级别权限
columns_prive:列级别权限
procs_priv:存储过程和存储函数相关的权限
proxies_priv:代理用户权限
用户帐号:
用户名@主机
用户名:16个字符以内
主机:
主机名:www.mylinux.com ,mysql
IP:172.16.10.177
网络地址:
172.16.0.0/255.255.0.0
通配符:%
172.16.%.%
%mysql.com
--skip-name-resolve
权限级别:
全局级别:super,
库
表delete,alter,trigger,
列seletc,insert,update
存储过程和存储函数
mysql> use mysql
Database changed
mysql> select * from db\G 查看库级别授权
字段级别:内存表
heap:16MB
触发器:主动数据库
insert,delete,update
user:log
create user [email protected] [identified by‘password‘]; 创建用户
grant all privileges on [object_type]db.* to [email protected];授权
grant execute on funtion db.abc to [email protected]‘%‘;授权一个函数abc
insert into mysql.user
flush privileges;
show grants for [email protected]‘HOST‘; 查看用户权限
grant option 可以把自己权限授予给他人
| MAX_QUERIES_PER_HOUR count 每小时最多允许发起多少次查询请求
| MAX_UPDATES_PER_HOUR count 每小时只允许使用几次update
| MAX_CONNECTIONS_PER_HOUR count 每小时只允许使用几次新的连接请求
| MAX_USER_CONNECTIONS count 某个用户帐号最多允许连接几次
授权给user1用户权限;
grant create on cactidb.* to ‘user1‘@‘%‘;
grant insert on cactidb.* to ‘user1‘@‘%‘;
grant alter on cactidb.* to ‘user1‘@‘%‘;
grant update(Age) on cactidb.testtb to ‘user1‘@‘%‘;
grant super in *.* to ‘cactiuser‘@‘&‘;
删除用户:
drop user ‘username‘@‘host‘;
给用户重命名:
rename user old_name to new_name;
收回权限:
revoke select on cactidb.* from ‘cactiuser‘@‘%‘;
找回管理员密码:
1.停掉mysql
2.vim /etc/init.d/mysqld
修改:
$bindir/mysqld_safe --skip-grant-tables --skip-networking --datadir=
--skip-grant-tables 跳过授权表
--skip-networking 跳过网络
3.service mysqld start
4.修改密码
use mysql
update set Password=PASSWORD(‘123456‘) where User=‘root‘;
5.service mysqld stop
6.vim /etc/init.d/mysqld 把之前修改的--skip-grant-tables --skip-networking改回来
7.service mysqld start