MySQL數據庫入門—用戶,忘記密碼,grant語句權限

--------------用戶----------------mysql

mysql> select user,authentication_string,host from user;      #查詢mysql數據的用戶sql


(1)建立用戶數據庫

第一種建立用戶方法: vim

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

#建立用戶wwlide

 

第二種建立用戶方法:提高權限的方法:加密

語法:spa

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 用戶名@來源地址

相關文章
相關標籤/搜索