--------------用户----------------

mysql> select user,authentication_string,host from user;      #查询mysql数据的用户


(1)创建用户

第一种创建用户方法: 

mysql> create user 'wwl' @'localhost' identified by password '123';

#创建用户wwl

 

第二种创建用户方法:提升权限的方法:

语法:

grant all on 数据库.表 to 用户@主机 identified by 密码

grant all on *.* to ‘test02’@’localhost’ identified by ‘abc123’

 

mysql> select password('123');                                        #将字符串123转换成加密形成

*23AE809DDACAF96AF0FD78ED04B6A265E05AA257

 

mysql> create user 'wwl' @'localhost' identified by password '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257';

#将加密后的字符串直接丢到identified by password中

#创建成功


问:创建的新用户现在在哪?

mysql> show databases;

mysql> use mysql;

mysql> show tables;


mysql> select user,password,host from user;


⑵删除用户

语法:

drop user 'user' @'localhost';

例子:

drop user 'wangwuliu' @' localhost';


mysql> drop user 'wwl' @'localhost';


⑶重命名用户

语法

rename user '要修改的用户名' @'localhost' to '新用户名' @'主机名';

例子:

RENAME USER 'wangwuwu' @' localhost' TO 'wangxiaowu' @'localhost';


给用户设置密码

set password = password('password');#修改当前账号

SET PASSWORD FOR 'user' @'host' = PASSWORD('password');


①以一个用户,如root登录,设置当前用户密码:

SET PASSWORD = PASSWORD('12345678');


mysql> set password = password('123456');

mysql> mysql -u root -p;


②root用户可为其他用户设置密码:

语法:

SET PASSWORD FOR 'wangxiaowu' @'localhost' = PASSWORD('password');

举例:修改密码

mysql> use mysql;

set password for 'user02'@'localhost' = password('123abc');


mysql> set password for 'hehe' @'localhost' = password('123456');



root密码忘记时解决办法

 直接修改授权表  5.7版本密码修改

#停止mysqld进程

[root@localhost ~]# systemctrl stop mysqld.service


vim /etc/my.cnf


[mysqld]模式下最后一行插入:skip-grant-tables  修改完成后保存退出。


进入mysql中输入命令

update mysql.user set authentication_string = password('123abc') where user='root';

#修改root密码为123abc


重启mysql系统之前要修改mysql的配置文件,删除之前插入的内容

vim /etc/my.cnf


删除完成后再重启mysql系统


即可使用修改后的密码123abc登陆。


----------使用GRANT语句给用户授予权限----------


grant 权限列表 ON 库名.表名 TO 用户名 @来源地址 [identified by '密码']


*.*:代表所有数据库列表

@来源地址:在哪台IP或者主机上使用这个权限

identified by '密码':设置密码

当授权用户不存在的话,使用grant语句会创建用户。 


MySQL权限列表:

ALL:设置除grant option之外的所有权限   #grant option是赋予权限

ALTER:允许使用 alter table   #修改 表

CREATE:允许使用create table    #创建  表

DELETE:允许使用delete     #删除 用于删除表中的行

DROP:允许使用drop table    #删除 数据表

INSERT:允许使用insert     #用于向表格中插入新的行

UPDATE:允许使用update      #用于修改表中的数据

SELECT:允许使用select     #用于查询表中的数据

REPLICATION SLAVE:replication slave 从主服务器中读取二进制日志文件

SHOW DATABASES:show databases显示所有数据库


使用SHOW GRANTS语句查看用户权限

show grants for'用户名'@'来源地址'


使用REVOKE语句撤销指定用户的数据库权限

revoke权限列表 on 数据库名.表名 from 用户名@来源地址