首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 用戶密碼設置、權限分配與撤銷刪除全攻略(Windows/Linux 通用)

     編輯:MySQL 綜合教學

一、修改密碼

方式 1:mysqladmin(命令行)

-- 首次無密碼
mysqladmin -u root password "yourpass"
-- 有舊密碼
mysqladmin -u root -poldpass password "newpass"

密碼用雙引號或無引號,避免單引號。

方式 2:SQL 直接更新 user 表

mysql -uroot -p
USE mysql;
UPDATE user SET password=PASSWORD('yourpass') WHERE User='root';
FLUSH PRIVILEGES;

二、權限分配(GRANT)

GRANT ALL ON picture.* TO 'test'@'%' IDENTIFIED BY 'test';

權限層級

層級ON 子句示例
全局*.*GRANT ALL ON *.* TO user@host
庫級db.*GRANT SELECT ON db.* TO user@host
表級db.tblGRANT SELECT,UPDATE ON db.tbl TO user@host
列級db.tbl(col)GRANT UPDATE(col) ON db.tbl TO user@host

常用權限指定符

ALTER, CREATE, DELETE, DROP, INDEX, INSERT, SELECT, UPDATE, FILE, PROCESS, RELOAD, SHUTDOWN, ALL, USAGE

主機匹配

  • user@localhost 本地
  • user@'%' 任意主機(慎用)
  • user@'.domain.com' 域後綴
  • user@'192.168.1.%' IP 前綴
  • user@'192.168.1.0/255.255.255.0' CIDR

授權選項

  • IDENTIFIED BY 'pass' 設密碼
  • WITH GRANT OPTION 允許轉授權

三、撤銷權限(REVOKE)

REVOKE SELECT ON db.* FROM 'user'@'host';

僅刪除權限,用戶記錄保留,仍可連接(無權限)。

四、徹底刪除用戶

DELETE FROM mysql.user WHERE User='user_name' AND Host='host_name';
FLUSH PRIVILEGES;

直接操作授權表後必須 FLUSH PRIVILEGES 生效(GRANT/REVOKE 自動刷新)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved