网络编程 
首页 > 网络编程 > 浏览文章

php为什么选mysql作为数据库? Mysql 创建用户方法

(编辑:jimmy 日期: 2024/11/29 浏览:3 次 )
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"; 
上一篇:PHP如何编写易读的代码
下一篇:木翼下载系统中说明的PHP安全配置方法
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap