http://www.linuxforum.net/books/mysqlmanual/manual_Privilege_system.html#User_names
詳細可以查看這個網址。
shell> mysql -u root centos默認安裝mysql無密碼, mysql> use mysql mysql> UPDATE user SET Password=PASSWORD('new_password') new_password是爲root設置的密碼,可以自定義 WHERE user='root'; mysql> FLUSH PRIVILEGES;
[root@localhost ~]# mysql -u root -p
Enter password:
輸入更改密碼new_password 即可登入mysql
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
設置口令的另一種方法是使用mysqladmin
命令:
shell> mysqladmin -u root password new_password
6.11 向MySQL增加新用戶權限
你可以有2個不同的方法增加用戶:通過使用GRANT
語句或通過直接操作MySQL授權表。比較好的方法是使用GRANT
語句,因爲他們是更簡明並且好像錯誤少些。
下面的例子顯示出如何使用mysql
客戶安裝新用戶。這些例子假定權限根據以前的章節描述的缺省被安裝。這意味着爲了改變,你必須在mysqld
正在運行同一臺機器上,你必須作爲MySQL root
用戶連接,並且root
用戶必須對mysql
數據庫有insert權限和reload管理權限。另外,如果你改變了root
用戶口令,你必須如下的mysql
命令指定它。
你可以通過發出GRANT
語句增加新用戶:
shell> mysql --user=root mysql mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION; mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost; mysql> GRANT USAGE ON *.* TO dummy@localhost;
這些GRANT
語句安裝3個新用戶:
monty
- 可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令(
'something'
做這個。注意,我們必須對monty@localhost
和monty@"%"
發出GRANT
語句。如果我們增加localhost
條目,對localhost
的匿名用戶條目在我們從本地主機連接接時由mysql_install_db
創建的條目將優先考慮,因爲它有更特定的Host
字段值,所以以user
表排列順序看更早到來。 admin
- 可以從
localhost
沒有一個口令進行連接並且被授予reload和process管理權限的用戶。這允許用戶執行mysqladmin reload
、mysqladmin refresh
和mysqladmin flush-*
命令,還有mysqladmin processlist
。沒有授予數據庫有關的權限。他們能在以後通過發出另一個GRANT
語句授權。 dummy
- 可以不用一個口令連接的一個用戶,但是隻能從本地主機。全局權限被設置爲
'N'
--USAGE
權限類型允許你無需權限就可設置一個用戶。它假定你將在以後授予數據庫相關的權限
GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION; 添加用戶admin具有本地訪問權限
flush privileges; # 重載系統權限
mysql> select host, user from user
-> ;
+-----------------------+-------+
| host | user |
+-----------------------+-------+
| % | admin |
| 127.0.0.1 | root |
| localhost | |
| localhost | admin |
| localhost | root |
| localhost.localdomain | |
| localhost.localdomain | root |
+-----------------------+-------+
7 rows in set (0.00 sec)
% 代表所有主機均可訪問,但不包括localhost 圖中admin有遠程和本地訪問權限,root只有本地權限。