Heim >Backend-Entwicklung >PHP-Tutorial >php为什么选mysql作为数据库? Mysql 创建用户方法_php文摘
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";