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自动定时备份代码相关推荐

  1. opensips mysql 认证_基于ubuntu中使用mysql实现opensips用户认证的解决方法

    1 MySQL支持 1.1 MySQL模块支持 默认安装时,不包含MySQL模块. opensipsctlrc文件中包含了数据库配置的信息,要想让opensips支持mysql数据库,在编译安装的时候 ...

  2. php常用mysql语句_PHP中常用MySql操作语句

    PHP中常用的几个 mysql 语句 显示数据库或表: show databases;//然后可能use database_name; show tables; 更改表名: alter table t ...

  3. linux mysql 乱码怎么解决_MySQL_linux中解决mysql中文乱码方法,改默认编码:/etc/init.d/my - phpStudy...

    linux中解决mysql中文乱码方法 改默认编码: /etc/init.d/mysql start (stop) 为启动和停止服务器 /etc/mysql/ 主要配置文件所在位置 my.cnf /v ...

  4. java代码中设置mysql时区_关于Java中的mysql时区问题详解

    前言 话说工作十多年,mysql 还真没用几年.起初是外企银行,无法直接接触到 DB:后来一直从事架构方面,也多是解决问题为主. 这次搭建海外机房,围绕时区大家做了一番讨论.不说最终的结果是什么,期间 ...

  5. mysql视图表修复_mysql中含有视图数据库在恢复数据时视图变成数据表的解决方法...

    # version:      1.0 for linux # method:       全备份mysql数据 # author:       fengzhanhai # history:      ...

  6. php mysql 迁移_将phpstudy中的mysql迁移至Linux教程

    项目目的 将原来windows环境中使用phpstudy搭建的mysql 5.5.53 中的数据迁移至新主机Linux环境中 环境情况 新主机 系统平台: CentOS release 7.4 (Fi ...

  7. linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案

    1.vim /etc/my.cnf [mysqld] skip-grant-tables ##追加此行,跳过权限表, 2.重启mysql systemctl restart mysqld 3.mysq ...

  8. mysql java 获取周_Java中获取Mysql中datetime类型的数据

    由于Java中的日期类型只有Date类型,而Mysql中即有date型,又有datetime型,当我们想要在java中获取Mysql中datetime类型的数据或向Mysql数据库中插入datetim ...

  9. mysql uncompress_如何在php中实现mysql compress()函数

    我想压缩TEXT以存储在MySQL中. 所以我只是在php中做gzcompress()然后发送到mysql,但是我也在设置Sphinx全文搜索,如果它可以用一个简单的查询来填充其索引,那就很好了. s ...

最新文章

  1. 谈中型项目下的编码技巧二
  2. 掌握这些PPT技巧,让你的工作效率提高10倍
  3. Oracle第三课之PLSQL
  4. 国内比较好用的5款测试管理工具
  5. Mybatis中强大的resultMap
  6. BI(商务智能)是对商业数据进行价值提取的过程
  7. 几步教你用 Python 制作一个 RPA 机器人!
  8. postgis java_Postgresql结合postgis使用java的JDBC连接
  9. 智能开关双控实现方法(附电路图)
  10. Win10的系统重装
  11. 写论文,这些工具让你少踩坑!
  12. VMR论文visualization实验总结
  13. Linux-overlay启动挂载代码分析
  14. excel 常用的函数
  15. php显示照片墙,照片墙(css动态效果)
  16. Algorithm:串联所有单词的子串
  17. 转专业2017武汉大学计算机学,转专业申请计算机,武大学子圆梦伯克利
  18. MacBook安装Windows Server(非虚拟机)
  19. WIN10鼠标指针一直转圈解决方案及UAC了解
  20. 在linux下怎么解压和压缩tar.xz文件

热门文章

  1. 基于PHP+MySQL的高校实验室预约管理系统#毕业设计
  2. 弹性方法计算连续梁板内力_连续梁板按塑性法内力计算课件
  3. 基于javaWeb的毕业生论文管理系统
  4. Hadoop/Spark大数据 Cloudera CCA Spark and Hadoop certificate CCA175认证
  5. 惠普HP DesignJet Z2100 打印机驱动
  6. 6个奇淫小软件,让Windows像杜蕾斯上的油一样爽滑好用
  7. 【硬核摄影2.0】用线性CCD器件制作扫描相机
  8. 三次元操作规范及注意事项
  9. 关于在经济欠发达地区建设简易教育城域网的提案
  10. CentOS6配置NFS服务