您的位置:首页 > 数据库 > MySQL

MySQL数据库入门—用户,忘记密码,grant语句权限

2018-08-31 22:59 567 查看
--------------用户----------------
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 用户名@来源地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL 用户 权限
相关文章推荐