请注明出处:https://blog.csdn.net/qq_23179075/article/details/83306104

Golang中备份MYSQL数据库

package mainimport ("common""io/ioutil""log""os/exec""time"
)func main() {BackupMySqlDb("localhost", "3306", "root", "root", "dcim", "", "E:/")
}/**** 备份MySql数据库* @param  host:           数据库地址: localhost* @param   port:           端口: 3306* @param   user:           用户名: root* @param  password:       密码: root* @param   databaseName:   需要被分的数据库名: test* @param    tableName:      需要备份的表名: user* @param  sqlPath:        备份SQL存储路径: D:/backup/test/* @return    backupPath**/
func BackupMySqlDb(host, port, user, password, databaseName, tableName, sqlPath string) (error,string)  {var cmd *exec.Cmdif tableName == "" {cmd = exec.Command("mysqldump", "--opt", "-h"+host, "-P"+port, "-u"+user, "-p"+password, databaseName)} else {cmd = exec.Command("mysqldump", "--opt", "-h"+host, "-P"+port, "-u"+user, "-p"+password, databaseName, tableName)}stdout, err := cmd.StdoutPipe()if err != nil {log.Fatal(err)return err,""}if err := cmd.Start(); err != nil {log.Fatal(err)return err,""}bytes, err := ioutil.ReadAll(stdout)if err != nil {log.Fatal(err)return err,""}now := time.Now().Format("20060102150405")var backupPath stringif tableName == "" {backupPath = sqlPath+databaseName+"_"+now+".sql"} else {backupPath = sqlPath+databaseName+"_"+tableName+"_"+now+".sql"}err = ioutil.WriteFile(backupPath, bytes, 0644)if err != nil {panic(err)return err,""}return nil,backupPath
}

备注: 需要把 MySqlbin 目录设置成到环境变量中 path 下。

Golang中备份MYSQL数据库相关推荐

  1. go语言服务器连接mysql,golang中连接mysql数据库

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  2. linux中备份mysql数据库

    在linux中备份mysql数据库,命令是: [root]# mysqldump -u 用户名 -p 密码 --all-databases > /home/mysql/bak.sql 如果报错就 ...

  3. 最完整代码的用php备份mysql数据库

    最完整代码的用php备份mysql数据库 1. mydb.php //DB类 2. backup.php //备份脚本 3. restore.php //还原脚本 mydb.php <? cla ...

  4. 用mysqldump远程备份mysql数据库

    用mysqldump远程备份mysql数据库 mysqldump是备份mysql数据库的一种好工具.它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系 ...

  5. 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库

    使用MySQL自带工具mysqlhotcopy快速备份mysql数据库 发表于82 天前 ⁄ 网站备份 ⁄ 暂无评论 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它 ...

  6. 备份MySQL数据库

    学会用各种姿势备份MySQL数据库 提交 我的留言 加载中 已留言 目录 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 总结 前言 我们 ...

  7. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  8. mysql打包备份数据到_thinkPHP使用pclzip打包备份mysql数据库的方法

    本文实例讲述了thinkPHP使用pclzip打包备份mysql数据库的方法.分享给大家供大家参考,具体如下: PclZip介绍 PclZip library能够压缩与解压缩Zip格式的压缩档(Win ...

  9. mysql 定时同步数据_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

最新文章

  1. linux putty 永久修改字体大小
  2. 《JavaScript高级程序设计 第3版》-学习笔记-1
  3. 初创公司技术困境:弹性部署与详尽测试
  4. VTK:简单操作之FloatingPointExceptions
  5. SAP UI5 数据绑定中的工厂函数
  6. php调用image类提示不存在的字体,php – 无效的字体文件名(imagettfbox)
  7. CVPR 2020 | 旷视提出新型人-物交互检测框架,实现当前最佳
  8. 20155229《网络对抗技术》Exp9:Web安全基础
  9. 李明顺专栏周5月12日:给门户支招
  10. input submit标签的高度和宽度与input text的差异
  11. dubbo整合springmvc 使用 学习二(spring+dubbo+zookeeper单机服务)
  12. 【Qt开发】Qt中显示图像的两种方法对比
  13. SharedPreferences的制作
  14. Arcgis字段计算器实现自动编码
  15. 十四五规划下建筑企业智慧建造数字化转型规划战略
  16. QQ连连看6.0 逆向分析
  17. android api17_现在在Android 17中
  18. 电影院票务管理系统数据库设计
  19. Matlab中stft函数的使用与原理
  20. Http和https请求过程

热门文章

  1. 处理CDR x8安装时显示“已停止工作”的教程
  2. Three.js无限星空特效
  3. PHP学习(wampServer+PhpStorm+XDebug)——环境相关配置参考(下)
  4. API接口的RESTful设计
  5. 神经网络的阈值是什么,神经网络权重取值范围
  6. 数字黄金、对冲通胀概念已经跌没 BTC铁杆投资者仍坚定不移?
  7. C#高级--反射详解
  8. Matlab 2021a 安装教程(手把手式教程)
  9. SpringBoot使用Nacos作为配置中心服务
  10. 图片翻转代码linux,Android实现图片顺时逆时旋转及拖拽显示效果