MySQL授權信息存儲在mysql數據庫的user表中。user表記錄了MySQL服務器中的每個用戶的授權信息。也就是說,user表中存儲了已授權的用戶、其所擁有的權限以及可以訪問哪些數據庫。
下面是user表的結構:
+-----------------------+ | Field | +-----------------------+ | Host | | User | | Password | | Select_priv | | Insert_priv | | Update_priv | | Delete_priv | | Create_priv | | Drop_priv | | Reload_priv | | Shutdown_priv | | Process_priv | | File_priv | | Grant_priv | | References_priv | | Index_priv | | Alter_priv | | Show_db_priv | | Super_priv | | Create_tmp_table_priv | | Lock_tables_priv | | Execute_priv | | Repl_slave_priv | | Repl_client_priv | | Create_view_priv | | Show_view_priv | | Create_routine_priv | | Alter_routine_priv | | Create_user_priv | | Event_priv | | Trigger_priv | | Create_tablespace_priv| | ssl_type | | ssl_cipher | | x509_issuer | | x509_subject | | max_questions | | max_updates | | max_connections | | max_user_connections | | plugin | | authentication_string | +-----------------------+
可以看到,user表中有很多字段,如Host、User、Password等。Host表示允許連接MySQL的主機名或IP地址,User表示MySQL的用戶名,Password表示該用戶的密碼(加密后的結果),其他priv字段表示該用戶擁有的權限。
使用授權命令創建用戶后,MySQL會在user表中添加一行數據,包括Host、User和密碼等信息。使用GRANT命令授權時,也是通過修改user表中相應字段的值來實現的。
在修改或刪除一個用戶的權限時,也需要通過修改user表中相應字段的值來實現。因此,了解user表的結構以及字段的含義對MySQL數據庫的管理和維護非常重要。