使用ThinkPHP怎么备份MySQL数据库

  介绍

使用ThinkPHP怎么备份MySQL数据库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

class  DBExport   {   ,/* *   ,,*,@description 获取当前数据库的所有表名。   ,,* @static   ,,*,@return 数组   ,,*/static 才能;protected  function 可以获得的()   {才能   ,,,美元dbName=C (& # 39; DB_NAME& # 39;);   ,,,结果=美元()→查询(“SHOW  FULL  TABLES 得到‘{$ dbName}’, WHERE  Table_Type =, & # 39; BASE 表# 39;“);   ,,,foreach  (result 美元;as  $ v) {   ,,,,,美元tbArray []=$ v (& # 39; Tables_in_& # 39; c (& # 39; DB_NAME& # 39;)];   ,,,}   ,,,return  tbArray美元;   ,,}   static 才能protected  function  getview ()   {才能   ,,,美元dbName=C (& # 39; DB_NAME& # 39;);   ,,,结果=美元()→查询(“SHOW  FULL  TABLES 得到‘{$ dbName}’, WHERE  Table_Type =, & # 39;视图# 39;“);   ,,,foreach  (result 美元;as  $ v) {   ,,,,,美元tbArray []=$ v (& # 39; Tables_in_& # 39; c (& # 39; DB_NAME& # 39;)];   ,,,}   ,,,return  tbArray美元;   ,,}   ,/* *   ,,*,@description 导出SQL数据,但不包含表创建代码。   ,,* @static   ,,*,@return 字符串   ,,*/static 才能public  function  ExportAllData ()   {才能   ,,,tables 美元;=,self::可以获得的();   ,,,arrAll 美元;=,阵列(   ,,,,,“SET  FOREIGN_KEY_CHECKS=0;“   ,,,,,自我:BuildAllTriggerDropSql (),   ,,,,,自我:BuildTableSql (),   ,,,,,自我:BuildViewSql ()   ,,,);   ,,,tbl 美元;=,new 模型();   ,,,foreach (tables 美元;as  $表)   ,,,{   ,,,,,美元arrAll []=癨 r \ nDELETE 得到表}{$;“;   ,,,,/*   ,,,,,rs 美元;=,美元(资源→查询(“SHOW  COLUMNS 得到{$表}“);   ,,,,,arrFields 美元;=,数组();   ,,,,,foreach  (rs 美元;as  $ k=祝辞,美元v) {   ,,,,,,,美元arrFields [],=,“‘{$ v(& # 39;场# 39;]}”“;   ,,,,,}   ,,,,,sqlFields 美元;=,内爆(arrFields美元,“,“);   ,,,,*/,,,,,rs=美元(资源→查询(“select  *,得到‘{$表}“);   ,,,,,foreach  (rs 美元;as  $ k=祝辞,美元v) {   ,,,,,,,arrValues 美元;=,数组();   ,,,,,,,foreach (v 美元;as 关键=美元在val美元)   ,,,,,,,{   ,,,,,,,,,如果(is_numeric (val美元)){   ,,,,,,,,,,,美元arrValues []=$ val;   ,,,,,,,,,}else 如果(is_null (val)美元){   ,,,,,,,,,,,美元arrValues[]=& # 39;零# 39;;   ,,,,,,,,,其他}{   ,,,,,,,,,,,美元arrValues []=? # 39;“.addslashes (val)美元霸主地位;& # 39;“;   ,,,,,,,,,}   ,,,,,,,}   ,,,,,,,美元arrAll [],=,“INSERT  INTO ‘{$表}’,VALUES  (“.implode (& # 39; & # 39; arrValues美元)!”);“;   ,,,,,}   ,,,}   ,,,美元arrAll []=self:: BuildTriggerCreateSql ();   ,,,return 内爆(“\ r \ n", arrAll美元);   ,,}   static 才能protected  function  BuildTableSql ()   {才能   ,,,tables 美元;=,self::可以获得的();   ,,,arrAll 美元;=,数组();   ,,,foreach (tables 美元;as , val美元){   ,,,,,rs 美元;=,M()→查询(“SHOW  CREATE  TABLE ‘{$ val}“);   ,,,,,tbSql 美元;=,preg_replace(“#创建(. *)\ \ s +表#“,“CREATE  TABLE", rs美元[0][& # 39;CREATE 表# 39;]);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用ThinkPHP怎么备份MySQL数据库