我发现我们可以在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 用于备份例程。