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