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密码恢复_第1张图片

mysql基础(四)用户权限管理和root密码恢复_第2张图片


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密码