一下的示例所用用戶名和密碼為:test,111111 Mysql密碼修改: Mysql修改密碼需要root的許可權,先執行mysql -uroot -p(密碼); 1)使用set password方式來修改賬戶密碼: set password for ‘hzd’@’localhost’=passwor ...
一下的示例所用用戶名和密碼為: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 允許您改變表格,可以用於通過重新命名錶來推翻許可權系統 表