freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

mysql金典培訓教程:10第七章-資料下載頁

2025-06-29 08:01本頁面
  

【正文】 匹配的用戶有關。如果,你從服務器主機連接,那么服務器匹配的是 root@localhost,修改該用戶密碼,否則一般修改 root@%密碼,除非你有其它 root 用戶存在。 4. 載入權限表: shell mysqladmin h hostname flushprivileges或者使用 SQL 命令`FLUSH PRIVILEGES39。 。當然,在這里,你也可以重啟 mysqld。 總結本節(jié)介紹了如何修改一個用戶的密碼,你可以使用三種方法,GRANT 語句、SET PASSWORD 語句、直接修改授權表以及使用管理工具 mysqladmin。一個重要的應用就是如何在遺忘 root 用戶密碼的時候修改密碼,使用的方法是啟動MySQL 服務器時忽略加載授權表。 權限修改何時生效 服務器重新啟動的情況當 mysqld 啟動時,所有的授權表內容被讀進存儲器并且從那時開始生效。 被服務器立即應用的情況用 GRANT、REVOKE 或 SET PASSWORD 對授權表施行的修改會立即被服務器注意到。 直接修改授權表的情況如果你手工地修改授權表(使用 INSERT、UPDATE 等等),你應該執(zhí)行一個 FLUSH PRIVILEGES 語句或運行 mysqladmin flushprivileges 告訴服務器再裝載授權表,否則你的改變將不生效,除非你重啟服務器。 對現有客戶連接的影響情況當服務器注意到授權表被改變了時,現存的客戶連接有如下影響: ? 表和列權限在客戶的下一次請求時生效。 ? 數據庫權限改變在下一個 USE db_name 命令生效。 ? 全局權限的改變和口令改變在下一次客戶連接時生效。 總結本小節(jié)總結了權限修改后以及服務器和客戶機的權限生效的幾種情況,讀者要十分留意這些情況,這對你管理數據庫系統有重要影響。當你為了權限疑惑時,不妨看一下本小節(jié)。 授權原則無論怎么小心都難免在給用戶授權時留有漏洞,希望下面的內容能給你一些幫助,你一般應該遵守這些規(guī)則。171 / 29 只有 root 用戶擁有授權表的改寫權不要把授權表的改寫權授予除 root 用戶之外的其它用戶(當然,如果你可以用另一個用戶代替 root 用戶進行管理,以增加安全性)。因為這樣,用戶可以通過改寫授權表而推翻現有的權限。產生安全漏洞。一般情況下,你可能不會犯這個錯誤,但是在安裝新的分發(fā), 初始授權表之后。這個漏洞是存在的,如果你不了解這時授權表的內容你可能會犯錯誤。在 Unix(Linux)上,在按照手冊的指令安裝好 MySQL 后,你必須運行mysql_install_db 腳本建立包含授權表的 mysql 數據庫和初始權限。在 Windows 上,運行分發(fā)中的 Setup 程序初始化數據目錄和 mysql 數據庫。假定服務器也在運行。當你第一次在機器上安裝 MySQL 時,mysql 數據庫中的授權表是這樣初始化的:? 你可以從本地主機(localhost)上以 root 連接而不指定口令。root 用戶擁有所有權限(包括管理權限)并可做任何事情。(順便說明,MySQL 超級用戶與Unix 超級用戶有相同的名字,他們彼此毫無關系。) ? 匿名訪問被授予用戶可從本地連接名為 test 和任何名字以 test_開始的數據庫。匿名用戶可對數據庫做任何事情,但無管理權限。一般地,建議你刪除匿名用戶記錄:mysql DELETE FROM user WHERE User=。更進一步,同時刪除其他授權表中的任何匿名用戶,有 User 列的表有db、tables_priv 和 columns_priv。另外要給 root 用戶設置密碼。 關于用戶、口令及主機的設置? 對所有 MySQL 用戶使用口令。記住,如果 other_user 沒有口令,任何人能簡單地用 mysql u other_user db_name 作為任何其它的人登錄。對客戶機/服務器應用程序,客戶可以指定任何用戶名是常見的做法。在你運行它以前,你可以通過編輯 mysql_install_db 腳本改變所有用戶的口令,或僅僅 MySQL root 的口令,象這樣: shell mysql u root mysqlmysql UPDATE user SET Password=PASSWORD(39。new_password39。) WHERE user=39。root39。mysql FLUSH PRIVILEGES。? 刪除匿名用戶匿名用戶的存在不僅不僅容易引起存取拒絕錯誤,更會產生嚴重的安全漏洞,安裝授權表后,自動安裝匿名用戶。缺省時你可以用任何用戶名連接,不需要密碼,并且具有修改授權表權限。你可以這樣刪除匿名用戶:shellmysql –u root –p mysqlmysqldelete from user where User=””。? 留意使用通配符的主機名,盡量縮小主機名的范圍,適合用戶的主機就足夠了,不要讓用戶不使用的主機留在授權表里。? 如果你不信任你的 DNS,你應該在授權表中使用 IP 數字而不是主機名。原則上講,secure 選項對 mysqld 應該使主機名更安全。在任何情況下,你應該非常小心地使用包含通配符的主機名! 授予用戶合適的權限? 授權用戶足夠使用的權限,不要賦予額外的權限。例如,對于用戶只需要檢索數據表的需求,賦予 SELECT 權限即可,不可賦予UPDATE、INSERT 等寫權限,不要怕被說成時吝嗇鬼。? 可能會產生安全漏洞的權限grant 權限允許用戶放棄他們的權限給其他用戶。2 個有不同的權限并有 grant 權限的用戶可以合并權限。 alter 權限可以用于通過重新命名表來推翻權限系統。 因為 ALTER 權限可能以你沒有設想的任何方法被使用。例如,一個用戶 user1 能訪問 table1,但不能訪問 table2。但是如果用戶 user1 帶有 ALTER 權限可能通過使用 ALTER TABLE 將 table2 重命名為table1 來打亂你的設想。shutdown 權限通過終止服務器可以被濫用完全拒絕為其他用戶服務 。? 可能會產生嚴重安全漏洞的權限不要把 PROCESS 權限給所有用戶。mysqladmin processlist 的輸出顯示出當前執(zhí)行的查詢正文,如果另外的用戶發(fā)出一個 UPDATE user SET password=PASSWORD(39。not_secure39。)查詢,被允許執(zhí)行那個命令的任何用戶可能看得到。mysqld 為有 process 權限的用戶保留一個額外的連接 , 以便一個 MySQL root 用戶能登錄并檢查,即使所有的正常連接在使用。 不要把 FILE 權限給所有的用戶。有這權限的任何用戶能在擁有 mysqld 守護進程權限的文件系統那里寫一個文件!為了使這更安全一些,用 SELECT ... INTO OUTFILE 生成的所有文件對每個人是可讀的,并且你不能覆蓋已經存在的文件。FILE 權限也可以被用來讀取任何作為運行服務器的 Unix 用戶可存取的文件。這可能被濫用,因為不僅有該服務器主機帳號的用戶可以讀取它們,而且有 FILE 權限的任何客戶機也可以通過網絡讀取它們。你的數據庫目錄和系統的各種文件可能成為全球范圍共享的文件!例如,通過使用 LOAD DATA 裝載“/etc/passwd”進一個數據庫表,然后它能用 SELECT 被讀入。下面的過程說明如何進行此項操作: 建具有 LONGBLOB 列的表:mysql USE test。mysql CREATE TABLE temp (b LONGBLOB)。用此表讀取你要竊取的文件的內容:mysqlLOAD DATA INFILE “/etc/passwd” INTO TABLE temp173 / 29FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp??梢赃@樣竊取你的數據表 data:mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。mysqlLOAD DATA INFILE “./other_db/” INTO TABLE tempFIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlSELECT * FROM temp INTO OUTFILE “./another_db/”FIELDS ESCAPED BY “” LINES TERMINATED BY “”。mysqlDELETE FROM temp。然后用戶就擁有的一個新表 ,可以對它進行完全訪問。 MySQL 權限系統無法完成的任務有一些事情你不能用 MySQL 權限系統做到: ? 你不能明顯地指定一個給定用戶應該被拒絕存取。即,你不能明顯地匹配一個用戶并且然后拒絕連接。 ? 你不能指定一個用戶有權創(chuàng)建立或拋棄一個數據庫中的表,也不能創(chuàng)建或拋棄數據庫本身 總結本節(jié)講述了如何為用戶分配合適的權限,幾個重要的原則就是給用戶分配僅夠使用的最小權限,盡量不在影響整個數據庫的 user 表中分配權限。有些權限是有危險的,例如 FILE、GRANT、PROCESS,管理員要慎重使用。 MySQL 的其它安全問題數據庫系統的安全性包括很多方面。由于很多情況下,數據庫服務器容許客戶機從網絡上連接,因此客戶機連接的安全對 MySQL 數據庫安全有很重要的影響。 不在客戶機的命令行上提供密碼使用 mysql、mysqladmin 等客戶機用一個用戶身份與 MySQL 服務器連接時,需要為連接提供密碼。1 可以在命令行上提供密碼shellmysql –u root –pmypass注意,p 選項與密碼之間不可有空格,否則會提示你輸入密碼,并報錯。你也可以使用長格式shellmysql –user=root –password=mypass現在你可以考察這樣做的后果:在 Unix 上,$ps –aux | grep mysql在 win9x 上,你可以按住 Ctrl+Alt+Del 鍵,NT 上你可以打開任務管理器。你發(fā)現了什么,你發(fā)現密碼清清楚楚的顯示在你的面前。所以,你無論何時也不要這么做。所以你需要讓客戶機提示你的密碼:shellmysql –u root –p 你也可以使用選項文件提供密碼,但是注意為了安全,不能在選項文件中存儲密碼。你可以只提供 password 選項,讓客戶機提示你輸入密碼。 使用 SSH 加密客戶機連接這是一個關于怎樣用 SSH 得到一個安全的連接遠程 MySQL 服務器的注意事項(David Carlson)。 在你的 windows 機器上安裝 SSH 客戶 我使用了一個來自 SSH 客戶。其他有用的鏈接: 和 啟動 SSH。設置主機名字 = 你的 MySql 服務器名或 IP 地址,設置 userid=你的用戶名登錄到你的服務器。 點擊“l(fā)ocal forwords ”。設定 local port: 3306, host: localhost, remote port: 3306 保存一切,否則下次你將必須再做一遍。 用 SSH 登錄到你的服務器。 啟動一些 ODBC 應用程序(例如 Access)。 創(chuàng)造一個新文件并且用 ODBC 驅動程序鏈接到 mySQL,就像你通常做的一樣,除了對服務器用用戶“l(fā)ocalhost”。 搞定。它對一個直接的因特網連接工作得很好。 不要使用 Unix 的 root 用戶運行 MySQL 守護進程不要作為 Unix 的 root 用戶運行 MySQL 守護進程。mysqld 能以任何用戶運行,你也可以創(chuàng)造一個新的 Unix 用戶 mysql 使一切更安全。如果你作為其它 Unix 用戶運行mysqld,你不需要改變在 user 表中的 root 用戶名,因為 MySQL 用戶名與 Unix 用戶名沒關系。你可以作為其它 Unix 用戶編輯 啟動腳本 mysqld。或者使用選項文件。175 / 29有關如何用非 root 用戶啟動 MySQL 服務器的細節(jié),請見第二章。 數據庫目錄的安全MySQL 服務器提供了一個通過 mysql 數據庫中的授權表,實現了一個十分靈活的權限系統,保證了從網絡訪問數據的安全性。但是,如果服務器主機上的其它用戶擁有對服務器目錄的直接訪問權,那么你的服務器的數據仍舊是不安全的。一般你可能用一個非特權的 Unix 用戶執(zhí)行守護程序。檢查那個運
點擊復制文檔內容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1