1.mysql數據庫表結構
1)mysql數據庫的全部表:mysql
2)user表的結構
3)db表結構
4)權限表(tables_priv和columns_priv表)
①tables_priv表結構:
②columns_priv表結構:
6)procs_priv表結構
2.帳戶管理
1)使用命令行命令登入mysql
2)新增用戶
①使用grant user語句新增用戶
②使用insert語句添加用戶
③使用GRANT語句新建普通用戶
3)刪除用戶
①使用drop user語句刪除用戶
②使用delete語句刪除用戶
4)root修改本身的密碼
①使用mysqladmin工具更改密碼(注:密碼必定要用雙引號括起來)
②使用update語句更改user表
③使用set命令更改密碼
5)root用戶修改普通用戶的密碼
①用set命令修改密碼
(修改密碼爲yunshu,密碼要用雙引號括起來,用單引號會出問題
②使用update語句更改user表
(更改密碼爲password
③使用grant語句更改密碼
(將yunshu的密碼更改成sercet
6)普通用戶修改本身的密碼
①使用set語句修改
②使用mysqladmin工具修改密碼
(密碼yunshu後面不能帶分號,不然會將分號看成密碼
7)root用戶密碼丟失的解決方法
①使用--skip-grant-tables選項啓動MySQL服務
windows:
mysqld --skip-grant-tables
mysqld-nt
--skip-grant-tables
net start mysql --skip-grant-tables
linux:
mysqld_safe --skip-grant-tables user=mysql
/etc/init.d/mysql start --mysqld
--skip-grant-tables
②用update語句修改密碼,加載權限表
例子:
(登入mysql,此時不用密碼可登入
(不能用set語句修改密碼
(用update語句修改密碼,並用flush privileges加載權限表
(再次登陸,OK!
三、權限管理
1)user表的權限列
2)受權
語法:
GRANT priv_type [(column_list)] ON database.table TO user [IDENTIFIED BY [PASSWORD] 'password'] [,user [IDDENTIFIED BY [PASSWORD] 'password']]...[WITH with_option [with_option]...]
with_option參數:
a、GRANT OPTION:被受權的用戶能夠將這些權限賦予給別的用戶;
b、MAX_QUERIES_PER_HOUR_count:設置每一個小時能夠執行count次查詢;
c、MAX_UPDATES_PER_HOUR_count:
設置每一個小時能夠執行count次更新;
d、MAX_CONNECTIONS_PER_HOUR_count:設置每一個小時能夠創建count次鏈接;
e、MAX_USER_CONNECTIONS_PER_count:設置單個用戶能夠同時具備的count鏈接數;
例子:
(給yunshu用戶受權
(用yunshu用戶給yunshu2用戶受權
3)收回權限
收回指定權限的REVOKE語句的基本語法是:
REVOKE priv_type [(column_list)]... ON database.table FROM user [,user]...
收回所有權限的REVOKE語句的基本語法是:
REVOKE ALL PRIVILEGES,GRANT OPTION FROM user [,user]...
例子:
4)查看用戶權限
①查看user表
②使用show grant語句
基本語法:SHOW GRANTS FOR '
username'@'hostname'
例子: