一般是两种方法,具体用哪个需要看你需要怎样的数据结构,也就是怎么搞对于你的整个系统来讲比较方便。
一个就如LS所讲,在数据库中的数据类型使用blod,这种类型可以直接把存进数据库中,比较方便,但是缺点就是会使数据库的体积变的庞大。如果你的数据量不大,可以用此方法。
另外一个,就是在数据库中存储该的物理地址。的地址可以和文章存在同一个表中,也可以单开一个数据表,然后与文章的ID关联上。这样的话对数据库的压力不大,但是需要你找到合适的存储的结构——毕竟如果很多放在同一个文件夹下也会影响性能。
我想到的有三种思路吧
1如果服务器允许mysqldump 并且没有禁止PHP的shell_exec()这个函数的话
直接在PHP里面执行mysqldump就可以了。
2通过mysql_query('show tables')的返回值遍历每个表,循环对每个表使用查询语句
select into outfile '路径/文件名' from 表名
缺点是这样得到的是纯数据,恢复数据的时候你需要额外再写脚本
3同样通过show tables返回表名,遍历每个表,通过select 语句查询,然后逐条结果处理,比如手工添加drop table 和create table 以及insert into等等,然后再写入文件。这样得到的备份数据是比较接近mysqldump的结果的,各种工具都可以用来恢复数据。缺点是如果数据库太大的话,效率不好说
总之我不推荐用PHP来实现mysql数据的备份,如果可能的话还是用mysqldump吧
$ary = array("直辖市"=>array("北京","天津","上海","重庆"),
"江苏省"=>array("南京","苏州","南通","常州"),
);
//这样就是一个二维数组
//我们使用的时候可以用foreach进行遍历
foreach($ary as $k=>$v) {
echo "{$k}:";
foreach($v as $m) {
echo "{$m},";
}
echo "<br>\r\n";
}
不知道这样的代码你能否看得懂?不明白再问吧。
$msgs[]="服务器备份目录为backup";
$msgs[]="对于较大的数据表,强烈建议使用分卷备份";
$msgs[]="只有选择备份到服务器,才能使用分卷备份功能";
show_msg($msgs);
以上就是关于关于php和MYsql数据库存放问题全部的内容,包括:关于php和MYsql数据库存放问题、如何用PHP来实现 备份 mysql 数据库的 功能 就是鼠标单击 让此项目的数据库自动保存到相应的文件夹、php值用二维数组怎么保存数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)