mysql数据库备份与恢复各种方法总结

SEO探索者团队 SEO服务&网站优化

本来给大家总结现在网络上常用的几种mysql数据库备份与恢复的命令与方法,有需要学习备份mysql数据库的朋友可进入详细参考.

方法一,直接打包mysql数据库下的data目录中你要备份的数据库名字的目录,然后恢复也可以直接替换了.

方法二,利用xcopy定时备份了,代码如下.

把下面代码保存.bat文件,代码如下:

  1. @echooff
  2. echo执行备份任务
  3. echo正在停止数据库…
  4. echo正在停止网站数据库…
  5. netstopMySQL
  6. echo执行备份数据库
  7. xcopy"D:/MySQL/data/*.*"D:/mysqlbak/webbak%date:~0,10%//e/y/c
  8. netstartMySQL
  9. echo正在启动网站数据库…
  10. echo退出备份任务
  11. echo.
  12. exit

另存为db_back.bat,该bat文件的意思是先停止mysql服务,然后使用xcopy命令,将源数据库所在文件夹整个复制到D:/db_backup下,并且以当天日期命名该文件.

我们在cmd下测试一下这个bat能否运行,"运行"->cmd,输入cd c:/定位到bat文件所在目录,输入back_job.bat.结果如下.

方法三,利用phpmyadmin备份还原,这里我就不介绍了.

方法四,利用mysqldump 命令进行备份

我通常使用以下 SQL 来备份 MyISAM 表,代码如下:

  1. /usr/local/mysql/bin/mysqldump-uyejr-pyejr--default-character-set=utf8--opt--extended-insert=false
  2. --triggers-R--hex-blob-xdb_name>db_name.sql

使用以下 SQL 来备份 Innodb 表:

  1. /usr/local/mysql/bin/mysqldump-uyejr-pyejr--default-character-set=utf8--opt--extended-insert=false
  2. --triggers-R--hex-blob--single-transactiondb_name>db_name.sql

1.2 还原

用 mysqldump 备份出来的文件是一个可以直接倒入的 SQL 脚本,有两种方法可以将数据导入。

直接用 mysql 客户端,例如,代码如下:

/usr/local/mysql/bin/mysql -uyejr -pyejr db_name < db_name.sql

用 SOURCE 语法,其实这不是标准的 SQL 语法,而是 mysql 客户端提供的功能,例如:

SOURCE /tmp/db_name.sql;

这里需要指定文件的绝对路径,并且必须是 mysqld 运行用户(例如 nobody)有权限读取的文件.

备份MySQL数据库的命令,代码如下:

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

备份MySQL数据库为带删除表的格式,备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库,代码如下:

mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql

直接将MySQL数据库压缩备份,代码如下:

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

备份MySQL数据库某个(些)表,代码如下:

mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql

同时备份多个MySQL数据库,代码如下:

mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

仅仅备份数据库结构,代码如下:

mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql

备份服务器上所有数据库,代码如下:

mysqldump –all-databases > allbackupfile.sql

还原MySQL数据库的命令,代码如下:

mysql -hhostname -uusername -ppassword databasename < backupfile.sql

还原压缩的MySQL数据库,代码如下:

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

将数据库转移到新服务器,代码如下:

mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename

利用php 来备份mysql数据库,代码如下:

  1. <?php
  2. mysql_connect('localhost','test','123456');
  3. mysql_select_db('test');
  4. if(copy_table('products','products_bak')){
  5. echo"success/n";
  6. }
  7. else{
  8. echo"failure/n";
  9. }
  10. functioncopy_table($from,$to){
  11. if(table_exists($to)){
  12. $success=false;
  13. }
  14. else{
  15. mysql_query("CREATETABLE$toLIKE$from");
  16. mysql_query("INSERTINTO$toSELECT*FROM$from");
  17. $success=true;//phpfensi.com
  18. }
  19. return$success;
  20. }
  21. functiontable_exists($tablename,$database=false){
  22. if(!$database){
  23. $res=mysql_query("SELECTDATABASE()");
  24. $database=mysql_result($res,0);
  25. }
  26. $res=mysql_query("
  27. SELECTCOUNT(*)AScount
  28. FROMinformation_schema.tables
  29. WHEREtable_schema='$database'
  30. ANDtable_name='$tablename'
  31. ");
  32. returnmysql_result($res,0)==1;
  33. }
  34. ?>

相关广告
  • mysql数据库备份与恢复各种方法总结 mysql数据库备份与恢复各种方法总结 mysql数据库备份与恢复各种方法总结
相关阅读

mysql数据库备份与恢复各种方法总结

2019/10/10 17:34:58 | 谷歌SEO算法 | 发外链