當前位置:網站首頁>Linux Mysql 數據庫用戶管理

Linux Mysql 數據庫用戶管理

2022-01-27 07:49:04 Dark_wWw

目錄

Linux Mysql 數據庫用戶管理

一、用戶管理

新建用戶

 查看用戶信息

 重命名用戶

 删除用戶

 修改當前登錄用戶密碼

 修改其他用戶密碼

 忘記 root 密碼的解决方法

 二、數據庫用戶授權

授予權限


Linux Mysql 數據庫用戶管理

一、用戶管理

新建用戶

CREATE USER '用戶名'@'來源地址' [IDENTIFIED BY [PASSWORD] '密碼'];

用戶名:指定將創建的用戶名

來源地址:指定新創建的用戶可在哪些主機上登錄,可使用IP地址、網段、主機名的形式,本地用戶可用localhost,允許任意主機登錄可用通配符%

密碼:

        若使用明文密碼,直接輸入’密碼’,插入到數據庫時由Mysql自動加密;

        若使用加密密碼,需要先使用SELECT PASSWORD(‘密碼’); 獲取密文,再在語句中添加         PASSWORD ‘密文’;

        若省略“IDENTIFIED BY”部分,則用戶的密碼將為空(不建議使用)

使用明文創建用戶

CREATE USER 'yh5'@'localhost' IDENTIFIED BY '000000';

 使用密文創建用戶

select password('000000');
create user 'yh6'@'localhost' identified by password '*E56A114692FE0DE073F9A1DD68A00EEB9703F3F1';

 查看用戶信息

創建後的用戶保存在 mysql 數據庫的 user 錶裏

use mysql;
select User,authentication_string,Host from user;

 重命名用戶

rename user 'yh5'@'localhost' to 'yh88'@'localhost';

 删除用戶

drop user 'yh6'@'localhost';

 修改當前登錄用戶密碼

set password = password('111111');

 修改其他用戶密碼

set password for '[email protected]'localhost' = password('111111');

 忘記 root 密碼的解决方法

遺忘 mysql 密碼

修改配置文件,添加配置,使登錄mysql不使用授權錶

vim /etc/my.cnf
#添加此行
skip-grant-tables

重啟服務,登錄測試

systemctl restart mysqld.servicemysql

 使用update 修改 root 密碼,刷新數據庫

update mysql.user set authentication_string = password('000000') where user='root';
 
 
flush privileges;

 退出重新登錄測試

mysql -u root -p000000

 再次修改 my.cnf 配置文件,注釋掉之前添加的配置命令

 二、數據庫用戶授權

授予權限

GRANT語句:專門用來設置數據庫用戶的訪問權限。當指定的用戶名不存在時,GRANT語句將會創建新的用戶;當指定的用戶名存在時,GRANT 語句用於修改用戶信息

GRANT 權限列錶 ON 數據庫名.錶名 TO '用戶名'@'來源地址' [IDENTIFIED BY '密碼'];

權限列錶:用於列出授權使用的各種數據庫操作,以逗號進行分隔,如“select,insert,update”。使用“all”錶示所有權限,可授權執行任何操作。

數據庫名.錶名:用於指定授權操作的數據庫和錶的名稱,其中可以使用通配符“”。例如,使用“kgc.”錶示授權操作的對象為 kgc數據庫中的所有錶。

用戶名@來源地址:用於指定用戶名稱和允許訪問的客戶機地址,即誰能連接、能從哪裏連接。來源地址可以是域名、IP 地址,還可以使用“%”通配符,錶示某個區域或網段內的所有地址,如“%.accp.com”、“192.168.80.%”等。

IDENTIFIED BY:用於設置用戶連接數據庫時所使用的密碼字符串。在新建用戶時,若省略“IDENTIFIED BY”部分, 則用戶的密碼將為空

允許用戶 yh 在本地查詢 ali 數據庫中所有錶的數據記錄,但禁止查詢其他數據庫中的錶的記錄

select User,authentication_string,Host from user;
 grant select on mysql.* to 'yh'@'localhost' identified by '000000';

mysql -u yh -p000000
show databases;
use mysql;
show tables;

 測試

登錄並查看數據庫

 允許用戶yh66在所有終端遠程連接mysql,並擁有所有權限

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

 查看權限

SHOW GRANTS FOR 用戶名@來源地址;
show grants for 'yh'@'localhost';

 撤銷權限

show grants for 'yh'@'localhost';
revoke select on mysql.* from 'yh'@'localhost';

 

版權聲明
本文為[Dark_wWw]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270749035593.html

隨機推薦