Mysql用户管理和权限管理

mysql权限表主要涉及到mysql数据库中的user、db、host、tables_priv、columns_priv、procs_priv。

一、mysql用户管理

1、创建mysql用户并设置密码:

规则1:create user 'user'@'host' identified by 'password';

user:用户名。

host:允许用户登录的主机名称。如果为%(默认),则表示所有主机。

password:用户密码。自己已经用password()函数加过密。

规则2:create user 'user'@'host' identified by password 'pwd';

pwd:用password()函数加过密的密码。

示例:


2、删除某个用户

规则1:drop user 'user'@'host';

示例:

3、修改root用户密码

规则1:mysqladmin -u root -h localhost -p password "password"

示例:


规则2:直接修改mysql数据库中的user表中的root用户。update之后还需要flush privileges 刷新一下,重新加载用户权限表。这种方式也可以修改其他普通用户的密码。

示例:


4、root用户修改普通用户密码

规则1:set password for 'user'@'host'=password('password');

示例:


5、普通用户自己修改自己的密码

规则1:set password=password('password');

示例:

二、用户授权

规则1:grant privileges on db.table to 'user'@'host';

db:数据库名。

user:用户名称。

host:主机。

示例:将对所有数据库中的所有表做增删改差的权限分配给用户名为chenjiahao,操作主机为localhost的用户。


有哪些权限可以在mysql数据库中的user 表中查询。

三、权限收回

规则1:revoke privileges on db.table from 'user'@'host';

db:数据库名。

user:用户名称。

host:主机。

示例:将用户chenjiahao的读所有数据库所有表的增、删、改权限收回。

四、root用户忘记密码解决方法

(1)停止mysql服务,window下:输入net stop mysql ; linux下输入service mysql stop。

(2) 输入命令,window下: mysqld  --skip-grant-tables ; linux下:mysqld_safe  --skip-grant-tables  user=mysql

(3)新打开一个窗口,用root用户进入,不需要密码:mysql  -u  root。

(4)新窗口输入命令:update mysql.user set Password=password('password') where User='user'; 

(5)新窗口输入命令: flush  privileges。 用于刷新加载权限表。6

(6)退出,重启mysql服务。window下:net  start mysql ; linux下:输入service  mysql start。

这样root密码就重新设置了。

示例:






  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值