如何使用 CODEIGNITER 中的实用程序类备份 MySql 数据库(包括存储过程)



我发现我们可以在Codeigniter中使用实用程序类来备份数据库。 但是我无法备份MySql Stored Procedures.

我的问题是:

如何在CODEIGNITER中使用Utility Class备份MySql数据库(including Stored procedures(。

请帮助我。谢谢

尝试这样,

创建的文件将保存在您的根文件夹中,并在创建后自动下载。

public function database_backup(){
$this->load->helper('file');
$this->load->helper('url');
$this->load->helper('download');
$this->load->library('zip');
$this->load->dbutil();
$db_format = [
'format' => 'zip',
'filename' => $this->db->database.'.sql'
];
$backup =& $this->dbutil->backup($db_format);
$db_name = 'database_backup.zip';
$save = FCPATH . $db_name;
// write the file to your server
write_file($save, $backup); 
// download the file
force_download($db_name, $backup);
}

您可以在此处找到信息:https://www.codeigniter.com/user_guide/database/utilities.html?highlight=write_file

我找到了一个解决方案:但是,它不属于代码点火器 数据库实用程序类

$file_name = 'blazonic_db_backup_' . date("d_m_Y_H_i_s") . '.zip';      
header( "Content-Type: application/zip" ); 
header( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
$cmd = "mysqldump -u $user --password=$pwd $db -R | gzip --best"; 
passthru( $cmd );
exit(0);

这里 -R 用于备份例程。

最新更新