日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
MySQL數據庫中如何正確增加新用戶權限?

此文章主要向大家講述的是在MySQL數據庫中增加新用戶權限的實際操作流程,我在一個信譽度很好的網站找到一個關于MySQL數據庫中增加新用戶權限的實際操作流程的資料,拿出來供大家分享。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯(lián)網時代的桐城網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

有2個不同的方法增加用戶:通過使用GRANT語句或通過直接操作MySQL(和PHP搭配之最佳組合)授權表。比較好的方法是使用GRANT語句,因為他們是更簡明并且好像錯誤少些。

下面的例子顯示出如何使用MySQL(和PHP搭配之最佳組合)客戶安裝新用戶。這些例子假定權限根據以前的章節(jié)描述的缺省被安裝。這意味著為了改變,你必須在MySQL(和PHP搭配之最佳組合)d正在運行同一臺機器上,你必須作為MySQL(和PHP搭配之最佳組合) root用戶連接,并且root用戶必須對MySQL數據庫有insert權限和reload管理權限。另外,如果你改變了root用戶口令,你必須如下的MySQL(和PHP搭配之最佳組合)命令指定它。

你可以通過發(fā)出GRANT語句增加新用戶:

shell> MySQL(和PHP搭配之最佳組合) --user=root MySQL(和PHP搭配之最佳組合)

MySQL(和PHP搭配之最佳組合)> GRANT ALL PRIVILEGES ON *.* TO monty@localhost

IDENTIFIED BY 'something' WITH GRANT OPTION;

MySQL(和PHP搭配之最佳組合)> GRANT ALL PRIVILEGES ON *.* TO monty@"%"

IDENTIFIED BY 'something' WITH GRANT OPTION;

MySQL(和PHP搭配之最佳組合)> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;

MySQL(和PHP搭配之最佳組合)> GRANT USAGE ON *.* TO dummy@localhost;

這些GRANT語句安裝3個新用戶:

monty

可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令('something'做這個。注意,我們必須對monty@localhost和monty@"%"發(fā)出GRANT語句。如果我們增加localhost條目,對localhost的匿名用戶條目在我們從本地主機連接接時由MySQL(和PHP搭配之最佳組合)_install_db創(chuàng)建的條目將優(yōu)先考慮,因為它有更特定的Host字段值,所以以user表排列順序看更早到來。

admin

可以從localhost沒有一個口令進行連接并且被授予reload和process管理權限的用戶。這允許用戶執(zhí)行MySQL(和PHP搭配之最佳組合)admin reload、MySQL(和PHP搭配之最佳組合)admin refresh和MySQL(和PHP搭配之最佳組合)admin flush-*命令,還有MySQL(和PHP搭配之最佳組合)admin processlist。沒有授予MySQL數據庫有關的權限。他們能在以后通過發(fā)出另一個GRANT語句授權。

dummy

可以不用一個口令連接的一個用戶,但是只能從本地主機。全局權限被設置為'N'--USAGE權限類型允許你無需權限就可設置一個用戶。它假定你將在以后授予MySQL數據庫相關的權限。

你也可以直接通過發(fā)出INSERT語句增加同樣的用戶存取信息,然后告訴服務器再次裝入授權表:

shell> MySQL(和PHP搭配之最佳組合) --user=root MySQL(和PHP搭配之最佳組合)

MySQL(和PHP搭配之最佳組合)> INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),

'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

MySQL(和PHP搭配之最佳組合)> INSERT INTO user VALUES('%','monty',PASSWORD('something'),

'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

MySQL(和PHP搭配之最佳組合)> INSERT INTO user SET Host='localhost',User='admin',

Reload_priv='Y', Process_priv='Y';

MySQL(和PHP搭配之最佳組合)> INSERT INTO user (Host,User,Password)

VALUES('localhost','dummy','');

MySQL(和PHP搭配之最佳組合)> FLUSH PRIVILEGES;

取決于你的MySQL(和PHP搭配之最佳組合)版本,對上述,你可能必須使用一個不同數目'Y'值(在3.22.11以前的版本有更少的權限列)。對admin用戶,只用在3.22.11開始的版本具有的更加可讀的INSERT擴充的語法。

注意,為了設置一個超級用戶,你只需創(chuàng)造一個user表條目,其權限字段設為'Y'。不需要db或host表的條目。

在user表中的權限列不是由最后一個INSERT語句明確設置的(對dummy用戶),因此那些列被賦予缺省值'N'。這是GRANT USAGE做的同樣的事情。

下列例子增加一個用戶custom,他能從主機localhost、server.domain和whitehouse.gov連接。他只想要從localhost存取MySQL數據庫,從whitehouse.gov存取expenses數據庫和從所有3臺主機存取customer數據庫。他想要從所有3臺主機上使用口令stupid。

為了使用GRANT語句設置個用戶的權限,運行這些命令:

shell> MySQL(和PHP搭配之最佳組合) --user=root MySQL(和PHP搭配之最佳組合)

MySQL(和PHP搭配之最佳組合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON bankaccount.*

TO custom@localhost

IDENTIFIED BY 'stupid';

MySQL(和PHP搭配之最佳組合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON expenses.*

TO custom@whitehouse.gov

IDENTIFIED BY 'stupid';

MySQL(和PHP搭配之最佳組合)> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP

ON customer.*

TO custom@'%'

IDENTIFIED BY 'stupid';

通過直接修改授權表設置用戶權限,運行這些命令(注意,在結束時FLUSH PRIVILEGES):

shell> MySQL(和PHP搭配之最佳組合) --user=root MySQL(和PHP搭配之最佳組合)

MySQL(和PHP搭配之最佳組合)> INSERT INTO user (Host,User,Password)

VALUES('localhost','custom',PASSWORD('stupid'));

MySQL(和PHP搭配之最佳組合)> INSERT INTO user (Host,User,Password)

VALUES('server.domain','custom',PASSWORD('stupid'));

MySQL(和PHP搭配之最佳組合)> INSERT INTO user (Host,User,Password)

VALUES('whitehouse.gov','custom',PASSWORD('stupid'));

MySQL(和PHP搭配之最佳組合)> INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES

('localhost','bankaccount','custom','Y','Y','Y','Y','Y','Y');

MySQL(和PHP搭配之最佳組合)> INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES

('whitehouse.gov','expenses','custom','Y','Y','Y','Y','Y','Y');

MySQL(和PHP搭配之最佳組合)> INSERT INTO db

(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,

Create_priv,Drop_priv)

VALUES('%','customer','custom','Y','Y','Y','Y','Y','Y');

MySQL(和PHP搭配之最佳組合)> FLUSH PRIVILEGES;

頭3個INSERT語句增加user表條目,允許用戶custom用給定口令從不同的主機進行連接,但是沒有授予任何許可(所有權限被設置為缺省值'N')。后3個INSERT語句增加db表條目,授予custom以bankaccount、expenses和MySQL數據庫權限,但是只能在從正確的主機存取時。通常,在授權表直接被修改時,服務器必須被告知再次裝入他們(用FLUSH PRIVILEGES)以便使權限修改生效。

如果你想要給特定的用戶從一個給定的域上的任何機器上存取權限,你可以發(fā)出一個如下的GRANT語句:

MySQL(和PHP搭配之最佳組合)> GRANT ...

ON *.*

TO myusername@"%.mydomainname.com"

IDENTIFIED BY 'mypassword';

為了通過直接修改授權表做同樣的事情,這樣做:

MySQL(和PHP搭配之最佳組合)> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',

PASSWORD('mypassword'),...);

MySQL(和PHP搭配之最佳組合)> FLUSH PRIVILEGES;

你也可以使用xMySQL(和PHP搭配之最佳組合)admin、MySQL(和PHP搭配之最佳組合)_webadmin甚至xMySQL(和PHP搭配之最佳組合)在授權表中插入、改變和更新值。你可以在MySQL(和PHP搭配之最佳組合)的Contrib目錄找到這些實用程序。

【編輯推薦】

  1. MySQL數據表損壞的巧妙修復
  2. MySQL數據庫文件壞掉,不用急!
  3. MySQL 5 中易忘的使用性較強的命令
  4. 實現MySQL數據庫同步大演練
  5. 巧用c# 連接MySQL中文亂碼問題

本文題目:MySQL數據庫中如何正確增加新用戶權限?
標題URL:http://www.5511xx.com/article/dhcgoec.html