1、php為什麼選mysql作為資料庫?
2、Mysql資料庫建立使用者
本文主要寫mysql建立使用者的語句的區別,轉自isher的blogspot,由於在寫入時想到了為什麼不換用其他資料庫的時候,搜尋了一下google為什麼php會選擇mysql作資料庫,沒有發現相關報道,邊決定找到起因,同時此問題由我個人總覺得出,不代表廣大php老鳥群們的意見,如有不周請指出
php為什麼選mysql做為資料庫?
mysql是最早的開來源資料庫(基於GPL,GPL2開源協議開發,享有共用原則,現有一部分已規划到商業用途),雖然是免費的,但從效能和穩定性相比絲 毫不遜色於其他商務資料庫,而php做為最類似於C語言的程式,門檻較低,且做為免費的模組發布不依賴於任何商務服務器,擴充性好,在internet上 存在重多的開源類庫提供php開發人員使用,從而php開發人員便以同樣基於GPL公約開發的Mysql資料庫做為低成本起步搭檔
2、Mysql添加使用者
個人教訓,在添加Mysql帳號的時候,一定要主義使用者名稱和主機(local和%)均要被引號引起,否則命令即錯
命令方式的.注意每行後邊都跟個 ; 表示一個命令語句結束.
格式:grant select on 資料庫.* to “使用者名稱”@“登入主機” identified by "密碼";
例1、增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to “test1”@"%" Identified by "abc";
補充所有許可權語句:
由例1得: 將執行許可權(select,insert,....)改為all privileges,即表示擁有所有許可權,包括建立資料庫許可權,刪除資料庫,已經不局限於在一個資料庫內操作
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
例1(非補充)中增加的使用者是十分危險的,因為你的主機是%,%即代表任意位置的主機,而local即詞義"本地",假如,某個人想知道test1的密碼,那麼他就可以在internet上的任何一台電腦上串連到你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見例2。
根據例1補充語句,此語句盡量不要在Mysql伺服器上使用,如果你的伺服器處於託管或遠端地帶,如果你需要遠端管理Mysql伺服器,而由不想通過超級終端登入到伺服器上,那麼你只好用此語句,但要清楚一件事,即你能使用此方法串連伺服器,其他人也可以,所以要保管好你的mysql密碼
例2、 增加一個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作 (localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接存取資料 庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "abc";
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to “test2”@localhost identified by "";
grant select,insert,update,delete on dez.* to “test2”@"%" identified by "123456";