一下的示例所用用戶名和密碼為: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 允許您改變表格,可以用於通過重新命名表來推翻權限系統 表