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