自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL添加用戶的兩種方法

數(shù)據(jù)庫 MySQL
MySQL是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由于MySQL體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。那么如何在MySQL中添加用戶呢?

文章開頭,我就開門見山,直接為大家介紹在MySQL添加用戶的方法,即有2個不同的方法增加用戶:通過使用GRANT語句或通過直接操作MySQL授權(quán)表;比較好的方法是使用GRANT語句,因為他們是更簡明并且好像錯誤少些。

下面的例子顯示出如何使用MySQL客戶安裝新用戶。這些例子假定權(quán)限已缺省被安裝。這意味著為了改變,你必須在MySQL正在運行同一臺機器上,你必須作為MySQL root用戶連接,并且root用戶必須對MySQL數(shù)據(jù)庫有insert權(quán)限和reload管理權(quán)限。另外,如果你改變了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管理權(quán)限的用戶。這允許用戶執(zhí)行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,還有mysqladmin processlist。沒有授予數(shù)據(jù)庫有關(guān)的權(quán)限。他們能在以后通過發(fā)出另一個GRANT語句授權(quán)。

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

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

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以前的版本有更少的權(quán)限列)。對admin用戶,只用在3.22.11開始的版本具有的更加可讀的INSERT擴充的語法。

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

在user表中的權(quán)限列不是由最后一個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語句設置個用戶的權(quán)限,運行這些命令:

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';

通過直接修改授權(quán)表設置用戶權(quán)限,運行這些命令(注意,在結(jié)束時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用給定口令從不同的主機進行連接,但是沒有授予任何許可(所有權(quán)限被設置為缺省值'N')。后3個INSERT語句增加db表條目,授予 custom以bankaccount、expenses和customer數(shù)據(jù)庫權(quán)限,但是只能在從正確的主機存取時。通常,在授權(quán)表直接被修改時,服務器必須被告知再次裝入他們(用FLUSH PRIVILEGES)以便使權(quán)限修改生效。 如果你想要給特定的用戶從一個給定的域上的任何機器上存取權(quán)限,你可以發(fā)出一個如下的GRANT語句:

mysql> GRANT ...

ON *.*

TO myusername@"%.mydomainname.com"

IDENTIFIED BY 'mypassword';

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

mysql> INSERT INTO user VALUES ('%.mydomainname.com', 'myusername',

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

mysql> FLUSH PRIVILEGES;

你也可以使用xmysqladmin、mysql_webadmin甚至xmysql在授權(quán)表中插入、改變和更新值。你可以在MySQL的Contrib目錄找到這些實用程序。

通過上文中在MySQL中添加用戶兩種方法的學習,相信現(xiàn)在在MySQL中添加用戶的問題大家已經(jīng)都學會了,很高興與大家分享這些小經(jīng)驗,希望能夠?qū)Υ蠹矣兴鶐椭?/p>

【編輯推薦】

  1. MySQL數(shù)據(jù)庫被修改后的恢復方法
  2. 教你如何在MySQL數(shù)據(jù)庫中直接儲存圖片
  3. 教你如何安全配置MySQL數(shù)據(jù)庫

 

責任編輯:迎迎 來源: 賽迪網(wǎng)
相關(guān)推薦

2010-11-24 14:36:25

修復mysql表

2023-07-02 08:48:45

2010-11-16 16:36:40

Oracle刪除用戶

2010-08-04 17:41:52

掛載NFS

2010-05-24 15:08:46

MySQL訪問權(quán)限

2010-11-23 11:53:37

MySQL查詢表字段

2009-09-25 14:04:09

Hibernate eHibernate h

2010-04-13 09:50:44

Oracle跟蹤

2010-02-06 14:35:36

ibmdwRUP迭代

2009-06-18 11:09:42

2009-08-05 13:34:18

C#日期相減

2010-09-07 11:18:10

2010-11-12 11:44:37

SQL Server刪

2010-09-09 19:53:50

2019-09-15 17:35:28

Wireshark解密HTTPS

2020-09-16 18:27:36

Linux方法IP地址

2011-04-25 09:53:31

C++mysql

2010-11-09 13:09:58

SQL Server分

2010-09-13 13:05:03

sql server分

2010-11-10 13:22:41

SQL Server備
點贊
收藏

51CTO技術(shù)棧公眾號