mysql数据库之用户管理和权限

mysql服务器进程在启动的时候会读取这6张表,并在内存中生成受权表,因此这几个文件是直接加载进内存的。mysql

之后后续的任何用户登陆及其访问权限的检查都经过检查这6张表来实现的。经过访问内存上所生成的结构信息来完成。sql

user :包含用户帐号、全局权限以及其余的非权限字段数据库

db :数据库级别权限的定义服务器

host :废弃!网络

tables_priv :表级别权限ide

columns_priv :列级别权限函数

procs_priv :存储过程和存储函数相关的权限spa

proxies_priv :代理用户权限代理

 

用户帐号进程

    用户名@主机

         用户名:16字符之内

           主机:主机名、IP、网络地址、通配符(%_

--skip-name-resolve :跳过主机名解析(在登陆时使用)

 

权限级别

全局级别:

库级别

表级别

列级别

存储过程和存储函数

 

建立用户

create  权限   用户名@主机名   identified   by  "密码"

flush  privileges;  重读受权表,读取用户信息

show  grants  for  用户名@'主机名'; 查看用户帐户信息

 

修改管理员密码

退出并关闭mysql :service  mysql   stop

手动修改启动文件:/etc/init.d/mysql  修改第283

添加:

--skip-grant-tables :跳过受权表

--skip-networking :跳过网络

 

启动mysql服务:service mysql  start 

use  mysql   :指定数据库

select  User,Host,Password  from  user;    :查看用户表

update  user   set   Password=PASSWORD('密码')  where  User='root';  :手动修改密码

退出数据库,关闭服务!

修改/etc/init.d/mysql,把添加的那两行删除

再从新启动服务,就能够登录了

相关文章
相关标签/搜索