
正文
数据备份删除php 数据备份删除恢复功能的设计与实现 百度网盘
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php MYSQL 数据备份类
功能上有:
require_once("backdata.class.php");
$link
=
@mysql_connect("localhost","数据库名","密码")
or
die
('Could
not
connect
to
server.');
mysql_query("use
cms",$link);
mysql_query("set
names
utf8",$link);
$dbbck=new
backupData($link);//实例化它,只要一个链接标识就行了
//备份数据时,如想备份一个数据库中的所有表,你可这样写:
$dbbck-backupTables("cms","./",array('*'));
//备份数据时,如想备份一个数据库中的仅一个表时,你可这样写:
$dbbck-backupTables("cms","./",array('user'));
//备份数据时,如想备份一个数据库中的多个表时,你可这样写:
$dbbck-backupTables("cms","./",array('user','acl','informatoin'));
//注解:$dbbck-backupTables("参1","参2",array());中,
参1为:数据库名,
参2为:要存放备份数据的位置(即目录地址)
第三个为:你要保存那些表
ok...
以下为代码:
复制代码
代码如下:
?php
/*
*
*简单的一个备份数据类
*author
FC
*
*/
class
backupData{
private
$mysql_link;//链接标识
private
$dbName;//数据库名
private
$dataDir;
//数据所要存放的目录
private
$tableNames;//表名
public
function
__construct($mysql_link){
$this-mysql_link
=
$mysql_link;
}
public
function
backupTables($dbName,$dataDir,$tableNames){//开始备份
$this-dbName
=
$dbName;
$this-dataDir
=
$dataDir;
$this-tableNames
=
$tableNames;
$tables=$this-delarray($this-tableNames);
$sqls='';
foreach($tables
as
$tablename){
if($tablename==''){//表不存在时
continue;
}
//************************以下是形成SQL的前半部分**************
//如果存在表,就先删除
$sqls
.=
"DROP
TABLE
IF
EXISTS
$tablename;\n";
//读取表结构
$rs
=
mysql_query("SHOW
CREATE
TABLE
$tablename",$this-mysql_link);
$row=mysql_fetch_row($rs);
//获得表结构组成SQL
$sqls.=$row['1'].";\n\n";
unset($rs);
unset($row);
//************************以下是形成SQL的后半部分**************
//查寻出表中的所有数据
$rs=mysql_query("select
*
from
$tablename",$this-mysql_link);
//表的字段个数
$field=mysql_num_fields($rs);
//形成此种SQL语句:"INSERT
INTO
`groups`
VALUES('1499e0ca25988d','主任','','0');"
while($rows=mysql_fetch_row($rs)){
$comma='';//逗号
$sqls.="INSERT
INTO
`$tablename`
VALUES(";
for($i=0;$i$field;$i++){
$sqls.=$comma."'".$rows[$i]."'";
$comma=',';
}
$sqls.=");\n\n\n";
}
}
$backfilepath=$this-dataDir.date("Ymdhis",time()).'.sql';
//写入文件
$filehandle
=
fopen($backfilepath,
"w");
fwrite($filehandle,
$sqls);
fclose($filehandle);
}
private
function
delarray($array){//处理传入进来的数组
foreach($array
as
$tables){
if($tables=='*'){//所有的表(获得表名时不能按常规方式来组成一个数组)
$newtables=mysql_list_tables($this-dbName,$this-mysql_link);
$tableList
=
array();
for
($i
=
0;
$i
mysql_numrows($newtables);
$i++){
array_push($tableList,mysql_tablename($newtables,
$i));
}
$tableList=$tableList;
}else{
$tableList=$array;
break;
}
}
return
$tableList;
}
}
相关问答
Q1: 如何卸载php?
如果您要卸载PHP数据备份删除php,需要根据您安装PHP的方法和平台数据备份删除php,采取不同的卸载方法。下面是几种常见的PHP卸载方法数据备份删除php:
在Linux系统上使用命令卸载PHP:
如果您是在Linux系统上通过命令行安装的PHP,可以使用以下命令卸载:
sudo apt-get remove php
或者使用以下命令删除所有与PHP相关的包:
sudo apt-get purge php*
在Windows系统上通过控制面板卸载PHP:
如果您是在Windows系统上通过安装程序安装的PHP,可以通过以下步骤卸载:
点击开始菜单,在搜索框中输入“控制面板”,并打开它。
点击“程序”或“程序和功能”,找到PHP并选择它。
点击“卸载”按钮,根据提示完成卸载。
在Mac系统上通过终端卸载PHP:
如果您是在Mac系统上通过Homebrew安装的PHP,可以使用以下命令卸载:
uninstall php
或者使用以下命令删除所有与PHP相关的包:
brew uninstall --force php
如果您通过其他方式安装数据备份删除php了PHP,请查找相应的卸载方法。卸载PHP时,最好备份您的配置文件和数据,以防数据丢失。
Q2: PHP+MySQL如何写任务计划,比如我要在5分钟后删除一条记录,怎么操作?
首先你要知道字段endtime的值,假如为$endtime
mysql_query("delete from end where endtime='$endtime'",$conn);
shell脚本:
备份的脚本比较简单:
#!/bin/bash
# 定义年 月 日
year=`date +%Y`
month=`date +%m`
day=`date +%d`
# 定义备份的目录
BACKDIR=/bak_1/mysql/$year/$month/$day
# MySQL的root密码
ROOTPASS=123456
# 建立目录
mkdir -p $BACKDIR
# 获取数据库列表
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# 备份
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
复制代码
上面的脚本将
数据
库按"年/月/日"目录结构备份,将脚本存为back.sh添加到cron里每天凌晨3点执行
00 03 * * * root /root/back.sh
下面的是每月3号删除上个月的备份,存为del_bak.sh,每月3号3点3分执行
03 03 03 * * root /root/del_bak.sh
注意脚本上传后,要chmod一下权限,比如chmod 755 /root/back.sh
#!/bin/bash
# 定义年 月 日
year=`date +%Y`
month=`date +%m`
#day=`date +%d`
# 取上一个月
month=`expr $month - 1`
# 如果是1月,则上一月为12,并且年也减1
if [ $month -eq 0 ]; then
month=12
day=31
year=`expr $year - 1`
fi
# 因为备份时小于10月的月份有前导零,所以这里判断如果小于10月,则加前导零
if [ $month -lt 10 ]; then
pre=0
fi
#获取要删除的目录名
BACKDIR=/bak1/mysql/$year/$pre$month
#删除了
rm -rf $BACKDIR
Q3: php脚本文件是否存在 备份 删除 覆盖
是。因为php代码实现数据库备份可以使网站的管理变得非常便捷,我们可以直接进后台操作就能完成数据库的备份,还可以对脚本文件进行删除、覆盖等操作。php脚本就是程序,一般都是有应用程序提供的编程语言。
关于数据备份删除php和数据备份删除恢复功能的设计与实现 百度网盘的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







