菜鳥學Linux 第076篇筆記 mysql使用者管理
包含内容
建立、删除、修改使用者
授權、撤消授權使用者
mysql使用者密碼忘記如何重置
User Management
使用者
密碼 password();加密機制MySQL獨有的
使用者名@主機
賬号:認證
權限
授權
MySQL将授權表加載到内容進行管理
使用者和權限表
user 使用者賬号、全局權限等
db 庫級别的權限
host 現已經廢棄
tables_priv 表級别權限
columns_priv 列級别權限
procs_priv 存儲過程和存儲函數相關的權限
proxies_priv 代理使用者權限
MySQL使用者賬号
使用者名16字元以内
主機
主機名 www.mysky.com mysql
IP 192.168.11.122
網絡位址 172.16.0.0/255.255.0.0
通配符 %任意字段任意個 _任意單個字元
192.168.%.%
%.mysky.com
--skip-name-resolve 跳過名稱解析
權限級别
全局級别 SUPER,
庫級别
SELECT * FROM db\G;
表級别 DELETE ALTER TRIGGER
列級别 SELECT, INSERT, UPDATE
存儲過程和存儲函數
臨時表:記憶體表
heap: 16MB
觸發器: 主動資料庫
INSERT, DELETE, UPDATE
建立使用者
CREATE USER 'user_name'@'hostname' [INDENTIFIED BY 'password'];
INSERT INTO mysql.user
FLUSH PRIVILEGES;
删除使用者
DROP USER 'username'@'host';
修改使用者名
RENAME USER older_name TO new_name (這個裡邊包含@主機哈)
GRANT
GRANT ALL PRIVILEGES [ object_type ] ON db.* TO username@'%' [WITH with_option..] ;
object_type:
TABLE
| FUNCTION
| PROCEDURE
with_option:
GRANT OPTION
| MAX_QUERIES_PER_HOUR count
| MAX_UPDATES_PER_HOUR count
| MAX_CONNECTIONS_PER_HOUR count
| MAX_USER_CONNECTIONS count
count執行指令時要替換成數值
GRANT CREATE ON cactidb.* TO cactiuser@'%'; (建立權限)
GRANT INSERT ON cactidb.* TO cactiuser@'%'; (插入權限)
GRANT UPDATE(Age) ON cactidb.testtb TO cactiuser@'%'; (授權修改到列級别)
GRANT SUPER ON *.* TO cactiuser@'%';
(注意有些授權需要重建立立會話才可以使授權生效)
SHOW GRANTS FOR cactiuser@'%';
撤消授權
REVOKE SELECT ON cactidb.* FROM 'cactiuser'@'%';
(一般讀權限可以給但寫權限要慎重)
忘記管理者密碼如何處理
1.關閉目前MySQL
# service mysqld stop
2.編輯啟動腳本
# vim /etc/init.d/mysqld
在這裡找到此行$bindir/mysqld_safe --datadir="$datadir"
在mysqld_safe後空格添加 --skip-grant-tables --skip-network
儲存退出
3.啟動mysqld
# service mysqld start
此時登入mysql時便不需要輸入密碼
4.進入資料庫後修改mysql的root密碼
UPDATE user SET Password=PASSWORD('1234') WHERE User='root';
(同時更改三個root密碼)
5.修改好後停止mysqld,然後再将剛剛加的字元去除,再重新啟動即恢複正常
(此時便可使用新配置的mysql密碼來進行登入mysql伺服器)
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('1234');
(注意在使用了跳過權限控制選項情況下,此條語句不可修改使用者密碼)
--skip-grant-tables 跳過權限控制
--skip-networking 不可以使用網絡登入
本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1891183如需轉載請自行聯系原作者
Winthcloud