我在项目中随着数据库数据变多,以前的MySQL数据库备份方法不行了,就写了简单的PHP执行MySQL数据库备份和还原,利用mysqldump,mysqldump.exe和mysql.exe文件,PHP包的mysql文件夹中自带有,直接调用就好。(mysqldump适合100G以下的数据库备份)
mysqldump命令将数据库中的数据备份成一个文本文件,表的结构和表中的数据将存储在生成的文本文件中。
mysqldump命令的工作原理:它先查出需要备份的表的结构,再在文本文件中生成一个CREATE
语句。然后,将表中的所有记录转换成一条INSERT
语句。然后通过这些语句,就能够创建表并插入数据。
备份代码
date_default_timezone_set("Asia/Shanghai");
/*********************************备份数据库start*********数据库大小100G以下*******************/
$db_user="root";//数据库账号
$db_pwd="123456";//数据库密码
$db_name="dbname";//数据库名
$filename=date("Y-m-d")."-".time();
$name="E:/dataBackup/dbname".$filename.".sql";//数据库文件存储路径
$exec="E:/MySQL/bin/mysqldump -u".$db_user." -p".$db_pwd." ".$db_name." > ".$name;
$result=exec($exec);
//前面要设置mysql执行文件的路径。
/*********************************备份数据库end****************************/
还原代码
/*********************************还原数据库start******数据库大小100G以下**********************/
$db_user="root";//数据库账号
$db_pwd="123456";//数据库密码
$db_name="dbname";//数据库名
$filename="原来备份的文件名"; //不包含.sql
$name="E:/dataBackup/dbname".$filename.".sql";//数据库文件存储路径
$exec="E:/MySQL/bin/mysql -u".$db_user." -p".$db_pwd." ".$db_name." < ".$name;
$result=exec($exec);
//print_r($result);
/*********************************还原数据库end****************************/
要修改的地方
db_user
db_pwd
db_name
name:修改为你要保存的相应地址,绝对路径
exec:修改为mysql安装目录,备份是bin下的mysqldump,还原是bin下的mysql
未经允许不得转载:任鹏个人博客 » PHP执行Mysql数据库的备份和还原(mysqldump)
最新评论
Forex wiki. https://lt.forex-stock-bitcoin-brokers.com
Magnificent items from you, man. I have take note your stuff
Following on from the 3rd March Meetings held by economic de
It is remarkable, rather valuable message dfgdlfg2131.32
一般都会有一个沙盒期的,过了沙盒期就会慢慢放出来
百度不收录是应为是新站的原因吗?
The spike in consumer prices that left inflation at a four-d