【Mysql】php执行脚本进行mysql数据库 备份和还原

时间:2020-12-03 03:19:27

一、mysql备份

1、这里使用 php脚本的形式进行mysql 数据库的备份和还原,想看linux的sh版本的,有时间再贴。

2、找到 mysql的【mysqldump】 执行程序,建议phpinfo

3、使用 linux的定时任务助手 crontab,写入里面,采用curl 定时访问php脚本文件

 

4、php脚本文件参考:采用TP3.2示例

/**
    * 数据库备份代码
    * @param 每月一次
    * @return 
    * @author xzz  2018年7月27日下午2:40:41
    */
    public function aotu_save_mysql_month(){
        //exec("/***/mysql-5.5/bin/mysqldump -u*** -p****** db_name > /www/***/111.sql");
        
        $filename = '/***/save_mysql_'.date('Y-m').'.sql.gz';//保存文件.sql
                
        $db_user = 'root';
        $db_pwd = '*****';
        $db_name = '***';
        $host = 'localhost';
        $port = '33306';//与端口无关
        
        $exec = "/***/mysql-5.5/bin/mysqldump -u$db_user -p$db_pwd $db_name > $filename";
        exec($exec);
    }

 

5、测试:直接在浏览器输入:www.xxx.com/index.php/Module_name/Controller_name/aotu_save_mysql_month

     去目标目录,查看.sql文件是否生成。

 

6、ps: 数据库密码不要过于奇葩,【很多的特殊字符,和会mysqldump 命令参数冲突】,建议常用字符或者 重新创建一个mysql账号。

 

二、mysql还原

/***/mysql/bin/mysql -uroot -ppassword  db_name < /***/yourbackup.sql

//参数跟备份时一样,backup.sql是需要还原的数据库文件,文件路径为绝对路径。