1. 程式人生 > 其它 >使用者和密碼管理操作

使用者和密碼管理操作

目錄

一.使用者管理

顯示使用者

顯示所有使用者,root才能查詢
select user,host,password from mysql.user;

顯示不重複使用者
select distinct user from mysql.user;

刪除空值使用者
delete from mysql.user where user='';

建立使用者

CREATE USER 使用者名稱@'客戶端地址' IDENTIFIED BY '密碼';

例子:
create user test@'%' identified by '123456';

例子,只讀賬號:
grant SELECT ON *.* TO 'username'@'%' IDENTIFIED BY "password";

許可權列表
all #所有許可權
select,update(欄位1,欄位2)

庫名.表名
. #所有庫和所有表

客戶端地址
192.168.1.% #1網段
% #允許所有

刪除使用者

DROP USER 使用者名稱@'客戶端地址';

操作表方式刪除
delete from mysql.user where user=’使用者名稱’ and host=’客戶端地址’

例子:
DROP USER 'username'@'host';

授權

grant 許可權列表 ON 庫名.表名 TO 使用者名稱@'客戶端地址';

例子:
如果test使用者不存在將會建立
GRANT all ON *.* TO test@'192.168.4.%' IDENTIFIED BY '123456';

例子:
只讀使用者
grant SELECT ON *.* TO 'read'@'%';

撤銷許可權

revoke 許可權列表 ON 庫名.表名 使用者名稱@'客戶端地址';

例子:
REVOKE SELECT ON *.* FROM 'pig'@'%';

查詢許可權

查詢當前使用者許可權
show grants;

查詢某使用者許可權
show grants for 使用者名稱@'客戶端地址';

二.設定密碼規則

設定規則

這個其實與validate_password_policy的值有關,預設為1,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。
如果我們不希望密碼設定的那麼複雜,需要修改兩個全域性引數:validate_password_length預設值為8,最小值為4

set global validate_password_policy=0; 只驗證長度
set global validate_password_length=4; 修改密碼預設長度

用SET PASSWORD命令

配置root密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

使用者修改自己密碼
SET PASSWORD=PASSWORD('newpass');

用mysqladmin

mysqladmin -u root password "newpass"

如果root已經設定過密碼,採用如下方法
mysqladmin -u root password oldpass "newpass"

更改當前使用者密碼

ALTER USER USER() IDENTIFIED BY '123456';

用UPDATE直接編輯user表

use mysql;
UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
FLUSH PRIVILEGES;

root密碼丟失

關閉驗證密碼
mysqld_safe --skip-grant-tables&

登陸
mysql -u root mysql

重置
UPDATE user SET password=PASSWORD("new password") WHERE user='root';

5.7版本
UPDATE user SET authentication_string=PASSWORD("new password") WHERE user='root';

重新整理
FLUSH PRIVILEGES;

本文版權歸作者所有,歡迎轉載,請務必新增原文連結。