Как сделать резервную копию базы данных MySql (включая хранимые процедуры) с помощью класса утилит в CODEIGNITER - PullRequest
0 голосов
/ 06 мая 2018

Я обнаружил, что мы можем сделать резервную копию базы данных с помощью Utility Class в Codeigniter. Но я не могу сделать резервную копию MySql Stored Procedures.

Мой вопрос:

Как сделать резервную копию базы данных MySql (including Stored procedures) с помощью Utility Class в CODEIGNITER.

Пожалуйста, помогите мне. Спасибо

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Я нашел одно решение: но оно не относится к Codeigniter Database Utility Class

$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 используется для резервного копирования подпрограмм.

0 голосов
/ 07 мая 2018

попробуйте так,

созданный файл будет сохранен в вашей корневой папке и автоматически загрузится после создания.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...