全新安裝的 MySQL 僅包含默認 root@localhost 用戶。為實現多用戶訪問,需通過以下兩種核心方法添加新用戶:
語法靈活,可精確控制權限與主機範圍:
GRANT SELECT ON test.* TO 'yonghu'@'%' IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
解析:創建用戶 yonghu,允許從任意主機(%)連接,密碼 some_pass,擁有 test 數據庫所有表的 SELECT 權限及授權權限。
登錄 MySQL 後直接插入 mysql.user 表:
shell> mysql --user=root mysql
mysql> INSERT INTO user (Host, User, Password) VALUES ('localhost', 'shagua', '');
mysql> FLUSH PRIVILEGES;
解析:創建本地用戶 shagua,密碼為空。注意:MySQL 5.7+ 版本 Password 列已更名為 authentication_string,且推薦使用 CREATE USER 與 GRANT 組合替代直接操作系統表。
CREATE USER + GRANT 現代語法(MySQL 5.7+)FLUSH PRIVILEGES 使變更即時生效