Golang中备份MYSQL数据库
请注明出处: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
}
备注: 需要把
MySql
的bin
目录设置成到环境变量中path
下。
Golang中备份MYSQL数据库相关推荐
- go语言服务器连接mysql,golang中连接mysql数据库
golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...
- linux中备份mysql数据库
在linux中备份mysql数据库,命令是: [root]# mysqldump -u 用户名 -p 密码 --all-databases > /home/mysql/bak.sql 如果报错就 ...
- 最完整代码的用php备份mysql数据库
最完整代码的用php备份mysql数据库 1. mydb.php //DB类 2. backup.php //备份脚本 3. restore.php //还原脚本 mydb.php <? cla ...
- 用mysqldump远程备份mysql数据库
用mysqldump远程备份mysql数据库 mysqldump是备份mysql数据库的一种好工具.它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系 ...
- 使用MySQL自带工具mysqlhotcopy快速备份mysql数据库
使用MySQL自带工具mysqlhotcopy快速备份mysql数据库 发表于82 天前 ⁄ 网站备份 ⁄ 暂无评论 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供.它 ...
- 备份MySQL数据库
学会用各种姿势备份MySQL数据库 提交 我的留言 加载中 已留言 目录 前言 为什么需要备份数据? 数据的备份类型 MySQL备份数据的方式 备份需要考虑的问题 设计合适的备份策略 总结 前言 我们 ...
- mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...
项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...
- mysql打包备份数据到_thinkPHP使用pclzip打包备份mysql数据库的方法
本文实例讲述了thinkPHP使用pclzip打包备份mysql数据库的方法.分享给大家供大家参考,具体如下: PclZip介绍 PclZip library能够压缩与解压缩Zip格式的压缩档(Win ...
- mysql 定时同步数据_如何定时备份Mysql数据库数据?
这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...
最新文章
- linux putty 永久修改字体大小
- 《JavaScript高级程序设计 第3版》-学习笔记-1
- 初创公司技术困境:弹性部署与详尽测试
- VTK:简单操作之FloatingPointExceptions
- SAP UI5 数据绑定中的工厂函数
- php调用image类提示不存在的字体,php – 无效的字体文件名(imagettfbox)
- CVPR 2020 | 旷视提出新型人-物交互检测框架,实现当前最佳
- 20155229《网络对抗技术》Exp9:Web安全基础
- 李明顺专栏周5月12日:给门户支招
- input submit标签的高度和宽度与input text的差异
- dubbo整合springmvc 使用 学习二(spring+dubbo+zookeeper单机服务)
- 【Qt开发】Qt中显示图像的两种方法对比
- SharedPreferences的制作
- Arcgis字段计算器实现自动编码
- 十四五规划下建筑企业智慧建造数字化转型规划战略
- QQ连连看6.0 逆向分析
- android api17_现在在Android 17中
- 电影院票务管理系统数据库设计
- Matlab中stft函数的使用与原理
- Http和https请求过程
热门文章
- 处理CDR x8安装时显示“已停止工作”的教程
- Three.js无限星空特效
- PHP学习(wampServer+PhpStorm+XDebug)——环境相关配置参考(下)
- API接口的RESTful设计
- 神经网络的阈值是什么,神经网络权重取值范围
- 数字黄金、对冲通胀概念已经跌没 BTC铁杆投资者仍坚定不移?
- C#高级--反射详解
- Matlab 2021a 安装教程(手把手式教程)
- SpringBoot使用Nacos作为配置中心服务
- 图片翻转代码linux,Android实现图片顺时逆时旋转及拖拽显示效果