php mysql自动定时备份_php中实现mysql数据库备份与linux自动定时备份代码
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'].";nn";
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
$sqls.=$comma."'".$rows[$i]."'";
$comma=',';
}
$sqls.=");nnn";
}
}
$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;
}
}
?>
php mysql自动定时备份_php中实现mysql数据库备份与linux自动定时备份代码相关推荐
- opensips mysql 认证_基于ubuntu中使用mysql实现opensips用户认证的解决方法
1 MySQL支持 1.1 MySQL模块支持 默认安装时,不包含MySQL模块. opensipsctlrc文件中包含了数据库配置的信息,要想让opensips支持mysql数据库,在编译安装的时候 ...
- php常用mysql语句_PHP中常用MySql操作语句
PHP中常用的几个 mysql 语句 显示数据库或表: show databases;//然后可能use database_name; show tables; 更改表名: alter table t ...
- linux mysql 乱码怎么解决_MySQL_linux中解决mysql中文乱码方法,改默认编码:/etc/init.d/my - phpStudy...
linux中解决mysql中文乱码方法 改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /v ...
- java代码中设置mysql时区_关于Java中的mysql时区问题详解
前言 话说工作十多年,mysql 还真没用几年.起初是外企银行,无法直接接触到 DB:后来一直从事架构方面,也多是解决问题为主. 这次搭建海外机房,围绕时区大家做了一番讨论.不说最终的结果是什么,期间 ...
- mysql视图表修复_mysql中含有视图数据库在恢复数据时视图变成数据表的解决方法...
# version: 1.0 for linux # method: 全备份mysql数据 # author: fengzhanhai # history: ...
- php mysql 迁移_将phpstudy中的mysql迁移至Linux教程
项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...
- linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案
1.vim /etc/my.cnf [mysqld] skip-grant-tables ##追加此行,跳过权限表, 2.重启mysql systemctl restart mysqld 3.mysq ...
- mysql java 获取周_Java中获取Mysql中datetime类型的数据
由于Java中的日期类型只有Date类型,而Mysql中即有date型,又有datetime型,当我们想要在java中获取Mysql中datetime类型的数据或向Mysql数据库中插入datetim ...
- mysql uncompress_如何在php中实现mysql compress()函数
我想压缩TEXT以存储在MySQL中. 所以我只是在php中做gzcompress()然后发送到mysql,但是我也在设置Sphinx全文搜索,如果它可以用一个简单的查询来填充其索引,那就很好了. s ...
最新文章
- 谈中型项目下的编码技巧二
- 掌握这些PPT技巧,让你的工作效率提高10倍
- Oracle第三课之PLSQL
- 国内比较好用的5款测试管理工具
- Mybatis中强大的resultMap
- BI(商务智能)是对商业数据进行价值提取的过程
- 几步教你用 Python 制作一个 RPA 机器人!
- postgis java_Postgresql结合postgis使用java的JDBC连接
- 智能开关双控实现方法(附电路图)
- Win10的系统重装
- 写论文,这些工具让你少踩坑!
- VMR论文visualization实验总结
- Linux-overlay启动挂载代码分析
- excel 常用的函数
- php显示照片墙,照片墙(css动态效果)
- Algorithm:串联所有单词的子串
- 转专业2017武汉大学计算机学,转专业申请计算机,武大学子圆梦伯克利
- MacBook安装Windows Server(非虚拟机)
- WIN10鼠标指针一直转圈解决方案及UAC了解
- 在linux下怎么解压和压缩tar.xz文件
热门文章
- 基于PHP+MySQL的高校实验室预约管理系统#毕业设计
- 弹性方法计算连续梁板内力_连续梁板按塑性法内力计算课件
- 基于javaWeb的毕业生论文管理系统
- Hadoop/Spark大数据 Cloudera CCA Spark and Hadoop certificate CCA175认证
- 惠普HP DesignJet Z2100 打印机驱动
- 6个奇淫小软件,让Windows像杜蕾斯上的油一样爽滑好用
- 【硬核摄影2.0】用线性CCD器件制作扫描相机
- 三次元操作规范及注意事项
- 关于在经济欠发达地区建设简易教育城域网的提案
- CentOS6配置NFS服务