JiroZhang博客

thinkphp备份mysql数据库方法

                   相信网上也有很多教程教大家如何备份数据库的数据和结构。但是褒贬不一,,所以自己用thinkPHP整理了一份简单的,一是自己做记录,二是给还不会这个朋友们一个参考,有不足的希望大家能积极提出,谢谢。下面我就直接贴代码。备注有详细的解释

                                         

     

public function dumpSql()
{
   //读取配置文件中的数据库用户名、密码、数据库名
   $db_name = C('DB_NAME');
   $db_user = C('DB_USER');
   $db_pwd = C('DB_PWD');
   //根据时间戳命名sql文件,也可以自己定义
   $fileName = date("Y-m-d") . "_" . $db_name . ".sql";
   //定义存放备份的路径
   $fileDir = iconv("UTF-8", "GBK", "F:/webBackup");
   if (!file_exists($fileDir)){
            mkdir($fileDir);
   }
   //将sql文件存放在定义的备份文件中
   $finaSaveName =  $fileDir.'/'.$fileName;
   //执行,mysqldump命令
   $exec="F:\wamp\bin\mysql\mysql5.6.17\bin\mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$finaSaveName;
   exec($exec);
   //echo $exec;

}
      在浏览器中运行上面的方法之后,在f盘就会看到多出一个文件夹和文件:
             f:webBackup和文件2017-11-22_mycms.sql

      在实际操作中 $fileDir 和 $exec前面的路径 都要改成你自己的。。请注意mysql的密码不要为空,,为空相当于空格,,会出错,如果只想备份表结构,可以在-p后面加一个-d    $db_name后面留空则表示备份整个数据库,也可以指定表的名字。如有疑问,欢迎大家留言讨论


赞 (0) 打赏

评论