程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql用戶密碼修改,用戶添加、刪除及設置權限,mysql用戶密碼修改

mysql用戶密碼修改,用戶添加、刪除及設置權限,mysql用戶密碼修改

編輯:MySQL綜合教程

mysql用戶密碼修改,用戶添加、刪除及設置權限,mysql用戶密碼修改


一下的示例所用用戶名和密碼為:test,111111

 

Mysql密碼修改:

Mysql修改密碼需要root的權限,先執行mysql -uroot -p(密碼);

1)使用set password方式來修改賬戶密碼:

set password for ‘hzd’@’localhost’=password(‘newpassword’);

2)使用phpMyAdmin修改,直接用SQL語句修改mysql數據庫庫的user表,不過別忘了使用PASSWORD函數, 插入用戶用Insert命令,修改用戶用Update命令,刪除用Delete命令。

 

mysql用戶的添加和授權:

1)insert方式添加:

用戶root權限登錄mysql,新建test用戶

 mysql>Insert into mysql.user(Host,User,Password) values(‘localhost’,’test’,password(‘111111’));

刷新系統權限表  mysql> FLUSH PRIVILEGES;

如果報錯

#1364 – Field ‘ssl_cipher’ doesn’t have a default value

修改MySQL配置文件Linux系統為my.cnf,Windows系統為my.ini

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

修改為

 

sql_mode=NO_ENGINE_SUBSTITUTION

重啟MySQL服務

2)grant方式添加:

用戶root權限登錄mysql,新建test用戶

mysql> grant usage on *.* to ‘test’@’localhost’ identified by ‘111111’;

給test用戶授權

mysql>grant all on ‘hzd’.* to ‘test’@’localhost’ identified by “111111”;

這句話的意思是:授權用戶’test’(其密碼為111111)可以任何主機登錄,可對數據庫’hzd’下的所有表進行所有操作。

 

以下是幾句關於授權的sql語句:

grant語句的語法如下:

grant privileges (columns) on what to user identified by “password” with grant option

 

1)grant select,insert on ‘*’ to test@’local’ identified by ‘111111’;

這句命令的意思是,授權用戶“test”(其口令為“111111”)只能在本地localhost登錄,可對任何的任何表(“*.*”前一個“*”代表任何數據庫,後一個“*”代表在前個“*”的約束下的任何表)進行select,insert的操作。

 

2)grant update,delete on scut.student to test@"%" Identified by "123";

這句命令的意思是,授權用戶“test”(其口令為“123”)可以任何主機登錄,可對數據庫"scut”下的表“student”進行update,delete的操作;

 

3)grant all on len.* to ca@"%" Identified by "123456";

這句命令的意思是,授權用戶“ca”(其口令為“123456”)可以任何主機登錄,可對數據庫"len”下的所有表進行所有的操作;

 

用戶刪除:

drop user test@localhost

 

mysql授權查看:
select user from mysql.db where db="youdb"
實例:查看len數據庫已經授權的用戶
select user from mysql.db where db="len"

查看用戶權限:

show grants for 你的用戶

比如:
show grants for test@'localhost';

 

數據庫/數據表/數據列權限: Alter: 修改已存在的數據表(例如增加/刪除列)和索引。
Create: 建立新的數據庫或數據表。
Delete: 刪除表的記錄。
Drop: 刪除數據表或數據庫。
INDEX: 建立或刪除索引。
Insert: 增加表的記錄。
Select: 顯示/搜索表的記錄。
Update: 修改表中已存在的記錄。

全局管理權限:

file: 在MySQL服務器上讀寫文件。
PROCESS: 顯示或殺死屬於其它用戶的服務線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關閉MySQL服務。

特別的權限:

ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄--其它什麼也不允許做。

附:權限 表列名稱 相應解釋 使用范圍 
  select Select_priv 只有在真正從一個表中檢索時才需要select權限 表 
  insert Insert_priv 允許您把新行插入到一個存在的表中 表 
  update Update_priv 允許你用新值更新現存表中行的列 表 
  delete Delete_priv 允許你刪除滿足條件的行 表 
  create Create_priv 允許你創建新的數據庫和表 數據庫、表或索引 
  drop Drop_priv 拋棄(刪除)現存的數據庫和表 數據庫或表 
  reload Reload_priv 允許您告訴服務器再讀入授權表 服務器管理 
  shutdown Shutdown_priv 可能被濫用(通過終止服務器拒絕為其他用戶服務) 服務器管理 
  process Process_priv 允許您察看當前執行的查詢的普通文本,包括設定或改變口令查詢 服務器管理 
  file File_priv 權限可以被濫用在服務器上讀取任何可讀的文件到數據庫表 服務器上的文件存取 
  grant Grant_priv 允許你把你自己擁有的那些權限授給其他的用戶 數據庫或表 
  references References_priv 允許你打開和關閉記錄文件 數據庫或表 
  index Index_priv 允許你創建或拋棄(刪除)索引 表 
  alter Alter_priv 允許您改變表格,可以用於通過重新命名表來推翻權限系統 表

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved