亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3030 | 回復: 3
打印 上一主題 下一主題

MYSQL,虛擬主機用戶給多少權限? [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2003-02-07 01:27 |只看該作者 |倒序瀏覽
經過我測試在本地建立一個用戶
給予Select Insert Update

程序和MYSQL才被正常使用,但是就三個權限給予用戶后,用戶可以用PHPMYADMIN自己建立一個超級用戶,F(xiàn)AINT

給虛擬主機用戶要給哪些權限?如果沒有權限好象程序也無法使用了?
我看了手冊上面一共有Select Insert Update Delete Create Drop Reload Shutdown Process File Grant References Index Alter
這么多權限啊,我建立一個超級用戶,只可在本地登陸的,其他的虛擬主機用戶,改如何分配權限呢?

論壇徽章:
0
2 [報告]
發(fā)表于 2003-02-08 10:40 |只看該作者

MYSQL,虛擬主機用戶給多少權限?

其實你可以定義某個用戶對個別表的操作權限?纯词謨陨蠈懙模

你可以有2個不同的方法增加用戶:通過使用GRANT語句或通過直接操作MySQL授權表。比較好的方法是使用GRANT語句,因為他們是更簡明并且好像錯誤少些。

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

你可以通過發(fā)出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@"%"發(fā)出GRANT語句。如果我們增加localhost條目,對localhost的匿名用戶條目在我們從本地主機連接接時由mysql_install_db創(chuàng)建的條目將優(yōu)先考慮,因為它有更特定的Host字段值,所以以user表排列順序看更早到來。
admin
可以從localhost沒有一個口令進行連接并且被授予reload和process管理權限的用戶。這允許用戶執(zhí)行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒有授予數(shù)據(jù)庫有關的權限。他們能在以后通過發(fā)出另一個GRANT語句授權。
dummy
可以不用一個口令連接的一個用戶,但是只能從本地主機。全局權限被設置為'N'--USAGE權限類型允許你無需權限就可設置一個用戶。它假定你將在以后授予數(shù)據(jù)庫相關的權限。
你也可以直接通過發(fā)出INSERT語句增加同樣的用戶存取信息,然后告訴服務器再次裝入授權表:

shell>; mysql --user=root mysql
mysql>; INSERT INTO user VALUES('localhost','monty',PASSWORD('something'),
                'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql>; INSERT INTO user VALUES('%','monty',PASSWORD('something'),
                'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql>; INSERT INTO user SET Host='localhost',User='admin',
                 Reload_priv='Y', Process_priv='Y';
mysql>; INSERT INTO user (Host,User,Password)
                        VALUES('localhost','dummy','');
mysql>; FLUSH PRIVILEGES;

取決于你的MySQL版本,對上述,你可能必須使用一個不同數(shù)目'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存取bankaccount數(shù)據(jù)庫,從whitehouse.gov存取expenses數(shù)據(jù)庫和從所有3臺主機存取customer數(shù)據(jù)庫。他想要從所有3臺主機上使用口令stupid。

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

shell>; mysql --user=root mysql
mysql>; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON bankaccount.*
           TO custom@localhost
           IDENTIFIED BY 'stupid';
mysql>; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON expenses.*
           TO custom@whitehouse.gov
           IDENTIFIED BY 'stupid';
mysql>; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
           ON customer.*
           TO custom@'%'
           IDENTIFIED BY 'stupid';

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

shell>; mysql --user=root mysql
mysql>; INSERT INTO user (Host,User,Password)
       VALUES('localhost','custom',PASSWORD('stupid'));
mysql>; INSERT INTO user (Host,User,Password)
       VALUES('server.domain','custom',PASSWORD('stupid'));
mysql>; INSERT INTO user (Host,User,Password)
       VALUES('whitehouse.gov','custom',PASSWORD('stupid'));
mysql>; 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>; 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>; 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>; FLUSH PRIVILEGES;

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

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

mysql>; GRANT ...
           ON *.*
           TO myusername@"%.mydomainname.com"
           IDENTIFIED BY 'mypassword';

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

mysql>; INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',
           PASSWORD('mypassword'),...);
mysql>; FLUSH PRIVILEGES;

論壇徽章:
0
3 [報告]
發(fā)表于 2003-02-10 10:42 |只看該作者

MYSQL,虛擬主機用戶給多少權限?

最重要的是GRANT權限

論壇徽章:
0
4 [報告]
發(fā)表于 2003-02-10 18:05 |只看該作者

MYSQL,虛擬主機用戶給多少權限?

謝:)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP