mysql用户管理

第一种修改密码的方法:

mysqladmin -uroot -p password

 

登录:

mysql -u 用户名 -p 密码 -h 主机名

 

 

select user,host,password from mysql.user;

 

虽然mysql有root ,如果用户民一样,但是主机名不一样,

会认为是不同的用户。

第二种方法

set password=password('root'); 

 

 

第三种方法:

update mysql.user set password=password('root')

where user='root' and host='localhost';

flush privileges;

 

忘记root密码

修改配置文件/etc/my.cnf     添加skip-grant-tables

执行下面命令

update mysql.user set password=password('root')

where user='root' and host='localhost';

flush privileges;

修改配置文件/etc/my.cnf     删除skip-grant-tables

 

 

先关闭mysql服务,输入如下命令

mysqld_safe  --skip-grant-tables

在另外一个窗口登录 是不需要密码的

登陆以后 可以通过update修改密码。

 

 

查看当前系统有多少用户

select user,host,password from mysql.user;

 

 

 

以root用户登录数据库 ,运行以下命令:

create user zhangsan identified by 'zhangsan';

上面的命令创建了用户zhangsan,密码是zhangsan。在mysql.user表里可以查看到新增用户的信息:

创建tom用户并没有指定在哪台机器上登录,即没有指定主机。

create user  tom@'localhost';

set password for tom@'localhost'=password('tom')

 

 

 

查看用户权限

show grants for jack \G;

 

 此时 jack用户没有权限,可以使用grant

grant可以设置权限,密码,也可以创建用户

给一个用户设置权限:

grant  权限1,权限2  on  库.表 to  用户名@‘主机名’ identified by 密码;

如果这个用户不存在的话,那么将会创建这个用户。

给这个用户赋予权限1,权限2  设置密码为''

 

通过 show privileges; 可以查看系统中有哪些权限

 

 

如果给某个用户赋予所有权限  可以使用all

grant all on *.* to jack@'%' ;

 

 

撤销某些权限

revoke 

revoke 权限1,权限2 on 库名.表名 from 用户名@‘主机名’;

revoke drop on aa.*  from jack@'%';

 

 

查看有哪些用户登录

 

show processlist;

 

 

删除用户

drop user 用户名

drop user jack;

 

 

 

允许root用户从其他机器登录

grant all on *.*  to  root@'%'  identified by 'root';

 

posted @ 2021-01-18 14:37  梁永旺  阅读(113)  评论(0编辑  收藏  举报