mysql用户由用户和主机名组成,使用'user'@'hosst'表示,mysql的用户和权限信息存储在mysql库中
mysql数据库表:
user #用户账号、全局权限
db #库级别权限
host #主机
tables_priv #表级别权限
colums_priv #字段级别权限
procs_priv #存储过程和存储函数相关的权限
proxies_priv #代理用户权限
权限级别:
库级别
表级别
字段级别
mysql用户权限
GRANT 权限列表 ON 数据库.表 '用户名'@'主机地址' IDENTIFIED BY '密码'; #授权用户
例:mysql> GRANT CREATE,SELECT ON *.* TO 'tr'@'localhost' IDENTIFIED BY 'mypass';
REVOKE 权限列表 ON 数据库.表 FROM '用户名'@'主机地址' #撤销授权
例:mysql> REVOKE SELECT ON *.* FROM 'tr'@'localhost';
mysql> SHOW GRANTS FOR 'tr'@'localhost'; #查看指定用户的授权情况
mysql> SELECT USER,HOST,PASSWORD FROM mysql.user; #查看所有用户信息
mysql权限列表:
mysql root密码恢复
vim my.cnf #修改配置文件
[mysqld]
skip-grant-tables #登录数据库是跳过授权表(必须)
skip-networking #禁止用户从网络连接(为了安全起见)
service mysqld restart #重启mysql
mysql> UPDATE user SET Password=PASSWORD('root') WHERE User='root'; #更新root密码