亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

如何實(shí)現(xiàn)MySQL中的用戶的管理問題

添加時(shí)間:2014-2-20 17:10:50  添加: 思海網(wǎng)絡(luò) 
 內(nèi)容摘要:MySQL有一套先進(jìn)的但非標(biāo)準(zhǔn)的安全/授權(quán)系統(tǒng),掌握其授權(quán)機(jī)制是開始操作MySQL數(shù)據(jù)庫必須要走的第一步,對于一個(gè)熟悉SQL基本操作的人來說,也是MySQL所有的知識中比較難以理解的一個(gè)部分。本文通過揭開其授權(quán)系統(tǒng)的運(yùn)作機(jī)制,希望大家能夠可以更好地操作和使用這個(gè)優(yōu)秀的數(shù)據(jù)庫系統(tǒng)。

  1、授權(quán)機(jī)制的主要作用是什么?

  授權(quán)機(jī)制的基本作用是給某個(gè)主機(jī)上的用戶對某個(gè)數(shù)據(jù)庫以select,insert,update和detete的權(quán)限。而其額外的功能還包括是否允許匿名使用數(shù)據(jù)庫,使用MysQL的一些特定函數(shù),如:LOAD DATA INFILE之類。在這里請注意,MySQL中的用戶名和Unix系統(tǒng)中的用戶名并沒有什么關(guān)系。雖然許多客戶端程序允許你可以用當(dāng)前的用戶名進(jìn)行登錄,但是最標(biāo)準(zhǔn)的做法還是通過--user的選項(xiàng)。

  2、授權(quán)機(jī)制是如何進(jìn)行運(yùn)作的?

  在MySQL中主機(jī)和用戶的聯(lián)合視為唯一標(biāo)志。比如說,在主機(jī)1和主機(jī)2上的用戶lee實(shí)際上是不同的,他們對MySQL的使用權(quán)限也可以是有差別的。而整個(gè)授權(quán)機(jī)制的核心問題就是要解決授予從某個(gè)主機(jī)上登錄的某個(gè)用戶對某個(gè)數(shù)據(jù)庫的使用權(quán)限。你可以通過腳本mysqlaccess測試一個(gè)主機(jī)上用戶的對數(shù)據(jù)庫操作的權(quán)限。而所有的授權(quán)信息都被存儲在數(shù)據(jù)庫mysql的user、host和db表中。我們可以通過mysql mysql的指令連接到這個(gè)數(shù)據(jù)庫中,并且通過select * from user(或者db,host)顯示每個(gè)數(shù)據(jù)表中的內(nèi)容。user表中所授予的權(quán)限是整個(gè)授權(quán)機(jī)制的基本授權(quán),也就是說,user中的定義對于任何一個(gè)用戶+主機(jī)來說都是適用的,除非在db表中另外有所定義,因此,對于用戶來說最好是就某個(gè)數(shù)據(jù)庫為基礎(chǔ)進(jìn)行授權(quán)。而host表的主要目的是維護(hù)一個(gè)“安全”服務(wù)器的列表。而在具體考慮某個(gè)用戶/主機(jī)對某個(gè)數(shù)據(jù)庫的權(quán)限的的時(shí)候,我們還需要研究一下授權(quán)機(jī)制的的匹配搜索機(jī)制:

  其次,在授權(quán)機(jī)制中可以對一個(gè)用戶的口令進(jìn)行加密,而且是必須加密,加密的方法是password('口令'),如果直接填寫口令的話,會導(dǎo)致數(shù)據(jù)庫無法訪問。user表中所授予的權(quán)限是整個(gè)授權(quán)機(jī)制的基本授權(quán),也就是說,user中的定義對于任何一個(gè)用戶+主機(jī)來說都是適用的,除非在db表中另外有所定義,因此,對于用戶來說最好是就某個(gè)數(shù)據(jù)庫為基礎(chǔ)進(jìn)行授權(quán)。而host表的主要目的是維護(hù)一個(gè)“安全”服務(wù)器的列表。而在具體考慮某個(gè)用戶/主機(jī)對某個(gè)數(shù)據(jù)庫的權(quán)限的的時(shí)候,我們還需要研究一下授權(quán)機(jī)制的的匹配搜索機(jī)制:
關(guān)鍵字: MySQL內(nèi)核 數(shù)據(jù)庫安全配置 用戶認(rèn)證模塊 密碼恢復(fù) 存儲過程編寫 數(shù)據(jù)庫索引
內(nèi)容摘要:MySQL有一套先進(jìn)的但非標(biāo)準(zhǔn)的安全/授權(quán)系統(tǒng),掌握其授權(quán)機(jī)制是開始操作MySQL數(shù)據(jù)庫必須要走的第一步,對于一個(gè)熟悉SQL基本操作的人來說,也是MySQL所有的知識中比較難以理解的一個(gè)部分。本文通過揭開其授權(quán)系統(tǒng)的運(yùn)作機(jī)制,希望大家能夠可以更好地操作和使用這個(gè)優(yōu)秀的數(shù)據(jù)庫系統(tǒng)。

  首先,我們需要介紹一下統(tǒng)配符的概念,統(tǒng)配符包括“%”,其意思為任意(的主機(jī)、用戶或者數(shù)據(jù)庫),而如果一條記錄為空的話,也表示任意的意思。其次,在授權(quán)機(jī)制中可以對一個(gè)用戶的口令進(jìn)行加密,而且是必須加密,加密的方法是password('口令'),如果直接填寫口令的話,會導(dǎo)致數(shù)據(jù)庫無法訪問。

  從我們對這三個(gè)表的顯示我們可以看到,這三個(gè)表中的每一條記錄包含了對于某個(gè)用戶的授權(quán)情況的描述,MySQL數(shù)據(jù)庫中幾個(gè)相關(guān)的授權(quán)機(jī)制的數(shù)據(jù)表被搜索的順序?yàn)?user,db,host。也就是說,我們將首先首先檢索user數(shù)據(jù)表,找到第一個(gè)匹配的記錄,我們把在user數(shù)據(jù)表中首先匹配的記錄稱之為Priv;然后搜索db表,獲得相應(yīng)的授權(quán)。如果在db數(shù)據(jù)表相應(yīng)記錄中host字段的為空,并且Priv記錄中主機(jī)也被包含在host表的host字段之中,這樣的話,對于某個(gè)user來說,則可以在user表中加入在host表中的一些為“Y”的權(quán)限設(shè)定。如果在db表中的host字段不為空的話,那么也就不會對該用戶/主機(jī)的授權(quán)產(chǎn)生什么影響了。

  了解了這一點(diǎn)之后,我們需要討論在各個(gè)數(shù)據(jù)表中的記錄的搜索的優(yōu)先權(quán)的問題,也就是說,怎樣確定第一匹配的記錄,這并不是按照數(shù)據(jù)表中的記錄的自然先后順序來確定的。在各個(gè)數(shù)據(jù)表內(nèi)的各條記錄的優(yōu)先權(quán)排列如下:

  (1)user表:根據(jù)先host后user的順序確定。搜索規(guī)則如下:不包含統(tǒng)配符的記錄,包含統(tǒng)配符的記錄,空記錄。而在同樣一個(gè)host里面,繼續(xù)按照user來排列,規(guī)則和上述的一樣。

  (2)db表:檢索的順序根據(jù)host字段確定:不包含統(tǒng)配符的記錄,包含統(tǒng)配符的記錄,空記錄。

  (3)host表:檢索的順序根據(jù)host字段確定:不包含統(tǒng)配符的記錄,包含統(tǒng)配符的記錄,空記錄。我們用下面的例子來說明進(jìn)行匹配搜索的規(guī)則:請記住如果你更改了這些數(shù)據(jù)表,你必須使用mysqladmin reload使其生效。
關(guān)鍵字: MySQL內(nèi)核 數(shù)據(jù)庫安全配置 用戶認(rèn)證模塊 密碼恢復(fù) 存儲過程編寫 數(shù)據(jù)庫索引
內(nèi)容摘要:MySQL有一套先進(jìn)的但非標(biāo)準(zhǔn)的安全/授權(quán)系統(tǒng),掌握其授權(quán)機(jī)制是開始操作MySQL數(shù)據(jù)庫必須要走的第一步,對于一個(gè)熟悉SQL基本操作的人來說,也是MySQL所有的知識中比較難以理解的一個(gè)部分。本文通過揭開其授權(quán)系統(tǒng)的運(yùn)作機(jī)制,希望大家能夠可以更好地操作和使用這個(gè)優(yōu)秀的數(shù)據(jù)庫系統(tǒng)。

  下面是演示系統(tǒng)是如何進(jìn)行搜索的:

  +-----------+---------+-
  | Host | User | ...
  +-----------+---------+-
  | % | root | ...
  | % | jeffrey | ...
  | localhost | root | ...
  | localhost | | ...
  +-----------+---------+-
  搜索的順序應(yīng)當(dāng)是:
  localhost/root
  localhost/any
  any/jeffrey
  any/root

  這樣,如果在localhost的用戶jeffrey要連接數(shù)據(jù)庫的話,那么其授權(quán)應(yīng)當(dāng)根據(jù)localhost/“任意” 行所規(guī)定的權(quán)限而非“任意”/jeffrey行所規(guī)定的權(quán)限,請大家注意這一點(diǎn),因?yàn)槿绻缓线m的配置完全可能會使得你無法正常地使用這個(gè)數(shù)據(jù)庫系統(tǒng)。

  我們現(xiàn)在來看一個(gè)添加一個(gè)用戶的例子:需要添加一名叫做“custom”用戶,他分別從主機(jī)'localhost', 'server.domain' 和 'whitehouse.gov'連接到數(shù)據(jù)庫中,他的口令為“stupid”,對于數(shù)據(jù)庫'bankaccount'他只想從“l(fā)ocalhost”進(jìn)行訪問,而“customer”數(shù)據(jù)庫則應(yīng)當(dāng)被上述3個(gè)主機(jī)所訪問。我們通過以下的sql語句來完成其操作。

  shell> mysql 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
  ('%','customers','custom','Y','Y','Y','Y','Y','Y');

  3、授權(quán)數(shù)據(jù)表
關(guān)鍵字: MySQL內(nèi)核 數(shù)據(jù)庫安全配置 用戶認(rèn)證模塊 密碼恢復(fù) 存儲過程編寫 數(shù)據(jù)庫索引
內(nèi)容摘要:MySQL有一套先進(jìn)的但非標(biāo)準(zhǔn)的安全/授權(quán)系統(tǒng),掌握其授權(quán)機(jī)制是開始操作MySQL數(shù)據(jù)庫必須要走的第一步,對于一個(gè)熟悉SQL基本操作的人來說,也是MySQL所有的知識中比較難以理解的一個(gè)部分。本文通過揭開其授權(quán)系統(tǒng)的運(yùn)作機(jī)制,希望大家能夠可以更好地操作和使用這個(gè)優(yōu)秀的數(shù)據(jù)庫系統(tǒng)。

  授權(quán)數(shù)據(jù)表對表的行操作包括select,insert,update和delete,對表和數(shù)據(jù)庫的操作包括create和drop。其它的授權(quán)還包括如LOAD DATA INFILE和SELECT INTO OUTFILE和管理命令:shutdown, reload, refresh 和process.三個(gè)授權(quán)數(shù)據(jù)表的結(jié)構(gòu)如下所示:

  user表

  字段 類型 健 默認(rèn)值
  Host char(60) PRI ""
  User char(16) PRI ""
  Password char(16) - ""
  Select_priv enum('N','Y') - N
  Insert_priv enum('N','Y') - N
  Update_priv enum('N','Y') - N
  Delete_priv enum('N','Y') - N
  Create_priv enum('N','Y') - N
  Drop_priv enum('N','Y') - N
  Reload_priv enum('N','Y') - N
  Shutdown_priv enum('N','Y') - N
  Process_priv enum('N','Y') - N
  File_priv enum('N','Y') - N

  db表

  字段 類型 健 默認(rèn)值
  Host char(60) PRI ""
  Db char(64) PRI ""
  User char(16) PRI ""
  Select_priv enum('N','Y') - N
  Insert_priv enum('N','Y') - N
  Update_priv enum('N','Y') - N
  Delete_priv enum('N','Y') - N
  Create_priv enum('N','Y') - N
  Drop_priv enum('N','Y') - N

  host 表只有在db的數(shù)據(jù)項(xiàng)中出現(xiàn)host為空的情況下使用。
關(guān)鍵字: MySQL內(nèi)核 數(shù)據(jù)庫安全配置 用戶認(rèn)證模塊 密碼恢復(fù) 存儲過程編寫 數(shù)據(jù)庫索引
內(nèi)容摘要:MySQL有一套先進(jìn)的但非標(biāo)準(zhǔn)的安全/授權(quán)系統(tǒng),掌握其授權(quán)機(jī)制是開始操作MySQL數(shù)據(jù)庫必須要走的第一步,對于一個(gè)熟悉SQL基本操作的人來說,也是MySQL所有的知識中比較難以理解的一個(gè)部分。本文通過揭開其授權(quán)系統(tǒng)的運(yùn)作機(jī)制,希望大家能夠可以更好地操作和使用這個(gè)優(yōu)秀的數(shù)據(jù)庫系統(tǒng)。

  字段 類型 健 默認(rèn)值
  Host char(60) PRI ""
  Db char(64) PRI ""
  Select_priv enum('N','Y') - N
  Insert_priv enum('N','Y') - N
  Update_priv enum('N','Y') - N
  Delete_priv enum('N','Y') - N
  Create_priv enum('N','Y') - N
  Drop_priv enum('N','Y') - N

  在數(shù)據(jù)表中可以使用統(tǒng)配符號。

  4、最常見的Access denied出現(xiàn)錯(cuò)誤的原因

  (1)你是否通過mysql_install_db腳本建立mySQL的授權(quán)表,你可以通過mysql -u root進(jìn)行測試,正確的情況下應(yīng)該不會發(fā)生錯(cuò)誤。或者,你是否有一個(gè)文件為:user.ISD,通常其位置在install_dir/var/mysql/user.ISD。

  (2)最初使用的時(shí)候你應(yīng)該使用mysql -u root mysql以存取數(shù)據(jù)庫,或者以root身份進(jìn)行操作。

  (3)更改了授權(quán)之后是否使用了mysqladmin reload進(jìn)行了更新?

  (4)在以測試為目的的時(shí)候,你應(yīng)當(dāng)選用--without-grant-tables選項(xiàng)啟動mysqld服務(wù),你可以在這時(shí)更改授權(quán)表的相關(guān)內(nèi)容,也可以用mysqlaccess檢查你的授權(quán)是否到位。

  (5)沒有使用password("口令")設(shè)定了口令,結(jié)果也會出現(xiàn)錯(cuò)誤,在使用-p的選項(xiàng)的時(shí)候,注意-ppassword之間沒有空格。

  5、如何使得MySQL更加安全?

  (1)為每個(gè)MySQL用戶使用口令。記住,如果你不加設(shè)口令的話,其他人可以通過mysql --user other_user database的方式訪問你的數(shù)據(jù)庫,在使用MySQL進(jìn)行檢測的時(shí)候系統(tǒng)也會給你相應(yīng)的警告信息。

  (2)不要用root方式啟動MySQL服務(wù)。MySQL可以以任何用戶啟動。你可以通過添加一個(gè)新用戶的方式來啟動數(shù)據(jù)庫服務(wù)。這也不會對系統(tǒng)造成任何影響,因?yàn)镸ySQL的用戶和Unix的用戶根本來說就使不同的。

  (3)不要把'Process_priv','File_priv'等權(quán)限授予任何人。

  (4)如果你不信任你的DNS,你應(yīng)當(dāng)使用IP來取代主機(jī)名。在任何情況下都要小心帶匹佩符的主機(jī)名。以下的一些選項(xiàng)可以影響到你的系統(tǒng)的安全:

  --secure

  顧名思義,可以使系統(tǒng)根加安全,因?yàn)樗梢詸z查IP地址的一致性。(實(shí)際連接IP地址和通過解析的IP地址),不過這使得mySQL在防火墻工作的時(shí)候很難被防火墻外的人所訪問。

  --skip-grant-tables

  一般情況下不要使用這個(gè)選項(xiàng),這可以試的任何人不受限制地訪問你的系統(tǒng)。

  --skip-name-resolve

  不進(jìn)行主機(jī)名的解析。在授權(quán)數(shù)據(jù)表中的所有主機(jī)名必須為ip地址或者'localhost'.

  --skip-networking

  不允許通過網(wǎng)絡(luò)進(jìn)行連接。所有的連接必須通過Unix Socket。

關(guān)鍵字:MySQL、網(wǎng)絡(luò)、數(shù)據(jù)庫

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站