当前位置: 首页 > 图文教程 > 网络编程 > PHP > php为什么选mysql作为数据库? Mysql 创建用户方法

PHP
PHP 执行系统外部命令 system() exec() passthru()
最新的php 文件上传模型,支持多文件上传
php 静态页面中显示动态内容
数据库查询记录php 多行多列显示
谈PHP生成静态页面分析 模板+缓存+写文件
PHP 各种排序算法实现代码
PHP nl2br函数 将换行字符转成 <br>
php 分页原理详解
Discuz 模板语句分析及知识技巧
php win下Socket方式发邮件类
怎样去阅读一份php源代码
建站常用13种PHP开源CMS比较
php xml留言板 xml存储数据的简单例子
PHP 开源AJAX框架14种
PHP 替换模板变量实现步骤
PHP has encountered an Access Violation at 7C94BD02解决方法
php 正则匹配函数体
php 文件夹删除、php清除缓存程序
php download.php实现代码 跳转到下载文件(response.redirect)
PHP类(Class)入门教程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 250 ::
收藏到网摘: n/a

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