精华内容
参与话题
问答
  • 今天客户打电话来说我们的系统备份的sql文件为空文件。 这让我很凌乱,我们测试过滴,执行很成功嘛。 可客户使用的时候确实是备份失败嘛 ,这是事实。   我东测试西测试,在本机咋滴还是没出现这样的...


    本文转自http://www.cnblogs.com/aDust/archive/2012/10/19/mysqldump.html


    今天客户打电话来说我们的系统备份的sql文件为空文件。

    这让我很凌乱,我们测试过滴,执行很成功嘛。

    可客户使用的时候确实是备份失败嘛 ,这是事实。

     

    我东测试西测试,在本机咋滴还是没出现这样的问题;

    没办法装了个虚拟机,安装了和客户一样的操作系统 ,并且按照客户安装步骤进行部署。

    结果,神奇事情出现了,所备份的数据库文件确实是空的,最后是东找西找,又是百度又是谷歌的,还是没有解决。

    后来我一想,mysql的安装路径不一样,我都喜欢把软件工具都安装在C盘以外,自定义的安装路径,而客户是安装在默认的Program Files下面,

    而文件夹有空格的名称的经常会致使一些莫名其妙的问题出现。

    想到就做,我将mysql bin目录下的mysqldump复制放到c盘,并且把系统语句改为

    Runtime rt = Runtime.getRuntime();

    rt.exec("cmd /c c:\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");

    居然成功了,文件不再是0KB的空文件。自此,问题解决。

     

    罪魁祸首是Program Files文件夹的空字符串,不知道当初微软为啥要在中间加个空格。

     

    我项目的解决方案就是:

    1、将mysqldump.exe复制放到我的项目文件夹下

    2、执行备份时,先得到项目部署路径,然后执行 

    Runtime rt = Runtime.getRuntime();

    String path = 获取mysqldump所在路径。 

    rt.exec("cmd /c "+path+"\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql"); 

    3、前提是让客户部署时,别将项目部署在含有空格的文件夹下面。

     

    记录下问题的解决方法以供参考。 

    本文转自http://www.cnblogs.com/aDust/archive/2012/10/19/mysqldump.html


    今天客户打电话来说我们的系统备份的sql文件为空文件。

    这让我很凌乱,我们测试过滴,执行很成功嘛。

    可客户使用的时候确实是备份失败嘛 ,这是事实。

     

    我东测试西测试,在本机咋滴还是没出现这样的问题;

    没办法装了个虚拟机,安装了和客户一样的操作系统 ,并且按照客户安装步骤进行部署。

    结果,神奇事情出现了,所备份的数据库文件确实是空的,最后是东找西找,又是百度又是谷歌的,还是没有解决。

    后来我一想,mysql的安装路径不一样,我都喜欢把软件工具都安装在C盘以外,自定义的安装路径,而客户是安装在默认的Program Files下面,

    而文件夹有空格的名称的经常会致使一些莫名其妙的问题出现。

    想到就做,我将mysql bin目录下的mysqldump复制放到c盘,并且把系统语句改为

    Runtime rt = Runtime.getRuntime();

    rt.exec("cmd /c c:\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql");

    居然成功了,文件不再是0KB的空文件。自此,问题解决。

     

    罪魁祸首是Program Files文件夹的空字符串,不知道当初微软为啥要在中间加个空格。

     

    我项目的解决方案就是:

    1、将mysqldump.exe复制放到我的项目文件夹下

    2、执行备份时,先得到项目部署路径,然后执行 

    Runtime rt = Runtime.getRuntime();

    String path = 获取mysqldump所在路径。 

    rt.exec("cmd /c "+path+"\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName>d:\\bk.sql"); 

    3、前提是让客户部署时,别将项目部署在含有空格的文件夹下面。

     

    记录下问题的解决方法以供参考。 

    展开全文
  • MySQL数据库从入门到实战课

    万人学习 2019-12-31 14:09:39
    根据《2019-2020年中国开发者调查报告》显示,超83%的开发者都在使用MySQL数据库。 使用量大同时,掌握MySQL早已是运维、DBA的必备技能,甚至部分IT开发岗位也要求对数据库使用和原理有深入的了解和...
  • Linux自动备份MySql数据库

    万次阅读 2015-11-26 16:28:30
    数据库备份对于网站平台来说很重要,数据就是金钱,有时候的误操作可能就会导致数据库中数据丢失,有一次我们项目组的一个开发人员错写了一个方法,导致平台中所有商品的全部删除了,幸亏大数据部门的人员对数据三天...

    数据库备份对于网站平台来说很重要,数据就是金钱,有时候的误操作可能就会导致数据库中数据丢失,有一次我们项目组的一个开发人员错写了一个方法,导致平台中所有商品的全部删除了,幸亏大数据部门的人员对数据三天一备份,才没有造成大的损失,所以数据库备份很重要。但是我们又不想每天自己半夜爬起来对数据库进行备份,所以我们可以编写设置一些东西来进行自动备份。

    不过我们现在负责数据库的人员都是自己半夜爬起来备份的,我问他们为什么,他们说自动备份的和手动备份的是有区别的,自动备份的会出现不能用的情况(sql server数据库),对此我表示疑问但没有深究,有待考证。

    今天想说的是MySql数据库备份,我们想要的是每天自动备份,并且还要定期删除一些备份,不要在服务器上占用很大空间。首先我们先看MySql的备份命令。

    1
    mysqldump -u root -p"asdasd" -h127.0.0.1 userinfo > backup.sql;

    root是用户名,asdasd是密码,userinfo是你想备份的数据库,然后backup.sql 是备份出来的文件。这样我们可以在Linux利用crontab命令周期性的执行一个备份脚本,脚本里我们还可以对备份文件进行打包压缩,并按照时间命名压缩包,然后删除backup.sql备份文件,并且定期删除删除以前的压缩包,下边看一下这个简单的备份脚本。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/bin/bash
    #Program:
    #       备份数据库
     
    #2015、09、16   xjd
     
     
    mysqldump -u root -p"asdasd" -h127.0.0.1 userinfo > backup.sql;
    tar cvfz $(date +%Y%m%d).tar.gz backup.sql;
    rm -rf backup.sql;
    rm -rf $(date -d "5 days ago" +%Y%m%d).tar.gz

    首先是备份数据库出来一个backup.sql文件,然后用tar命令进行打包压缩,并按照时间命名,然后删除备份文件,最后删除五天前的备份,这只是一个简单例子,还可以根据自己的需求,进行修改添加功能。编写完脚本之后,我们还需要让脚本定期执行,我用的是crontab命令,crontab -e 进行编辑。

    1
    0 0  * * * backup.sh &> /dev/null

    保存之后,这backup.sh脚本就会一天执行一次,crontab命令不熟悉的自行谷歌百度,还有一点要注意,我们看到最后有一个&>/dev/null 这样一句,这句是为了防止出现“You have new mail in /var/spool/mail/root ”这样的错误,如果没有后边那句,那么每执行一次,linux就想把执行的结果以邮件的形式告诉你,当然如果你需要知道每次运行的结果,你可以配置一下,然后把结果发送到你的邮箱。到这里基本上自动备份的问题我们就完成了。



    转自(自己的博客):http://www.luckyxue.com/Technology/20150924014612.html

    展开全文
  • 备份MYSQL数据库

    千次阅读 2004-12-01 17:03:00
    备份命令如下 可以写成BAT 然后自己写一个services程序做成自动备份程序。C:/mysql/bin/mysqldump --all-databases >c://%1 -h localhost -u root -n --default-character-set=latin1-h 为主机地址-u 超级管理员...
    备份命令如下  可以写成BAT 然后自己写一个services程序做成自动备份程序。
    C:/mysql/bin/mysqldump --all-databases >c://%1  -h localhost -u root -n  --default-character-set=latin1

    -h  为主机地址
    -u 超级管理员名字
    --default-character-set 默认字符集合
    --all-databases  备份所有的数据库

    c://%1为一个数据库名 可以在命令行中跟参数 这样好和services结合
    展开全文
  • shell脚本备份mysql数据库

    千次阅读 2013-02-01 19:16:39
    临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu10.04server 思路 获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库通过mysqldump来for循环导出...

    需求

    临近年关整理一些脚本程序,发现一个mysql数据库备份的脚本可以和大家分享一下,基于环境是ubuntu10.04server

    思路

    1. 获取mysql服务器所有数据库名称,过滤掉不需要备份的数据库
    2. 通过mysqldump来for循环导出所有的数据库的sql文件
    3. 用zip加密压缩所有的sql文件
    4. 定期进行数据清理工作

    shell代码


    数据库导出代码

    #!/bin/bash
    
    #1.数据库信息定义
    mysql_host="192.168.1.1"
    mysql_user="root"
    mysql_passwd="root"
    
    #sql备份目录
    root_dir="/backup"
    back_dir="/backup/databases"
    data_dir="databases"
    store_dir="database"
    if [ ! -d $back_dir ]; then
    	mkdir -p $back_dir
    fi
    
    #备份的数据库数组
    db_arr=$(echo "show databases;" | mysql -u$mysql_user -p$mysql_passwd -h$mysql_host)
    #不需要备份的单例数据库
    nodeldb="test1"
    
    #当前日期
    date=$(date -d '+0 days' +%Y%m%d)
    
    #zip打包密码
    zippasswd="passwd"
    zipname="lczh_"$date".zip"
    
    
    #2.进入到备份目录
    cd $back_dir
    
    
    #3.循环备份
    for dbname in ${db_arr}
    do
    	if [ $dbname != $nodeldb ]; then
    		sqlfile=$dbname-$date".sql"
    		mysqldump -u$mysql_user -p$mysql_passwd -h$mysql_host $dbname >$sqlfile
    	fi
    done
    
    
    #4.tar打包所有的sql文件
    tar -zcPpf $root_dir/$store_dir/$zipname --directory /  $root_dir/$data_dir
    #打包成功后删除sql文件
    if [ $? = 0 ]; then
    	rm -r $data_dir
    fi
    


    数据定期清理脚本


    作用

    定期清理14天前的备份文件

    shell代码

    #!/bin/bash - 
    
    #1.参数配置
    
    #mysql文件备份目录
    backup_dir1="/backup/test1/"
    backup_dir2="/backup/test2/"
    backdir_arr=($backup_dir1 $backup_dir2)
    
    #过期文件的时间
    keep_time=14
    
    #当前所在星期,crontab在奇数的星期7执行
    week=$(date +%W)
    flag=`expr $week % 2`
    
    
    
    #2.清理过期文件,只在奇数星期7执行
    if [ $flag -eq 1 ]; then
    	for dir in ${backdir_arr[*]}
    	do
    		if [ -d $dir ]; then
    			#查找14天之外的文件数据
    			clean_arr=`find $dir -type f -mtime +$keep_time -exec ls {} \;`
    			for cleanfile in ${clean_arr}
    			do
    				rm $cleanfile
    			done
    		fi
    	done
    fi
    

    crontab配置

    0 5 * * 7  执行清理脚本


    后记

    大家有更好的数据库备份方法或者是指点我shell脚本的不足,都可以跟帖留言,我保证回复,一起加油!

    展开全文
  • mydumper备份mysql数据库示例

    千次阅读 2015-07-09 13:26:26
    mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具,备份方式术语逻辑备份。它支持多线程,备份速度远高于原生态的mysqldump以及众多优异特性。因此该工具是DBA们的不二选择。本文主要描述该工具的使用...
  • php实现备份mysql数据库

    千次阅读 2005-01-26 10:19:00
    想在PHP后台管理直接能够备份数据库,于是想呀想,一直没有什么思路,一开始是考虑用php来访问服务器安装mysql的目录,比如 /usr/local/mysql/data目录,直接把下面对应的文件进行备份,但是出现了问题:第一、运行...
  • MySQL数据库进行手动备份时,不通过工具进行备份则需要输入以下的命令进行手动备份 示例 代码块语法遵循标准markdown代码,例如: mysqldump -h 数据库所在机器地址 -u root -p 数据库名称 > ...
  • 产品上线,数据库备份就是不得不考虑的问题。下面说说我的数据库备份策略。 我的服务器为Win2003,项目的数据库引擎采用的是MyIsam,数量大并不大,运营到现在1个月,数据库大小6M。为了防止出现意外,数据库每天都...
  • 如何备份MySQL数据库

    千次阅读 2019-04-15 16:15:47
    MySQL中进行数据备份的方法有两种:  1. mysqlhotcopy  这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法。  命令的使用方法是:  ...
  • SpringBoot备份mysql数据库

    千次阅读 2020-02-13 15:36:01
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { try { String command = "cmd /c mysqldump -uroot -ppassword databasesName >C://databaseF...
  • Java备份mysql数据库

    千次阅读 2018-08-21 10:55:49
    1、安装mysql数据库,并且配置mysql安装目录bin目录至系统环境变量中 2、命令 mysqldump -h(IP) -P(端口号) -u(用户名) -p(密码) --default-character-set=utf8 数据库名 > 备份至本地磁盘的何处...
  •   本篇主要用于介绍如何在linux服务器下编写备份mysql数据库文件和清理过期备份文件的脚本,以及设置定时任务启动脚本,做到每天定时备份数据库和清理过期备份文件的需求,同时也是一个踩坑记录,本以为网上会有很...
  • cmd 备份 mysql 数据库

    2019-04-02 20:36:58
    2.通过mysqldump备份数据库时错误,出现mysqldump: unknown option ‘–no-beep’ 2.1、原来是mysqldump读取mysql安装文件my.cnf里的内容的默认设置,导致命令行无法正常运行,知道了这个原因那解决方法也就有了,...
  • qt 备份 mysql 数据库

    2019-12-31 10:51:17
    QProcess p(this);... p.setWorkingDirectory("C:/Program Files/MySQL/MySQL Server 5.7/bin");//切换工作目录 p.setProgram("cmd"); QStringList argument; //QString("mysqldump -h127.0.0.1...
  • PHP备份mysql数据库

    千次阅读 2018-03-06 11:48:58
    function actionHaha(){ ...//备份数据库 $host="localhost"; $user="root";//数据库账号 $password="r123oot";//数据库密码 $dbname="auth";//数...
  • 远程备份mysql数据库

    2019-01-16 11:00:23
    #!/bin/bash mysqldump -h 192.168.1.1 -uusername -ppassword DatabaseName > /root/backups/DBName_$(date +%Y%m%d_%H%M%S).sql *注:username:数据库用户名 ... DatabaseName:数据库名字 192....
  • 备份 mysql 数据库脚本

    2014-05-10 06:59:50
    备份 mysql 数据库脚本 #!/bin/sh # File: /home/mysql/backup.sh # Database info bakupmysql DB_USER="user" DB_PASS="password" # Others vars DATE=`date +%Y-%m-%d` # 备份目录 mkdir /home/mysq
  • 定时备份 mysql 数据库

    2014-05-10 07:33:02
    结合 crontab,定时备份数据库。其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令。 脚本内容如下: #!/bin/sh # File: /home/mysql/backup.sh # Database info DB_NAME="test" DB_USER="username" DB_PASS...
  • SHELL 备份Mysql数据库

    2014-03-10 16:53:15
    这个脚本虽然比较简单,但觉得会帮我们很大的忙! 简单说一下: ... ... mkdir /home/mysqlbak/$DATE 指定并创建要...BIN_DIR=”/usr/local/mysql/bin” 指定你的MYSQL的位置 BCK_DIR=”/home/mysqlbak/$DATE” 将你的数据
  • linux备份mysql数据库

    千次阅读 2009-10-29 13:43:00
    MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。 1、创建备份文件夹 #cd /www  #makedir backup  2、编写运行脚本 #vi autobackup 写入以下...
  • 如何备份Mysql数据库

    千次阅读 2007-04-24 18:05:00
    如何备份Mysql数据库技巧管理员(2000-12-24 10:13)〖返回〗〖转发〗 mysqldump -u[user] -p[password] [databasename] > [dump_name] 在将 dump_name 这个档案复制到另一台计算机上 另一台计算机上先进入...
  • 自动备份 MySQL 数据库的 shell 脚本

    千次阅读 2017-02-17 22:28:39
    经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但...下面的这个 shell 脚本就是能让你通过过设定 Crontab 来每天备份 MySQL 数据库的方法。#!/bin/bash # 数据库认证 user="" password="" host="
  • 1. 在linux服务器上创建一个 msyql.sh文件 (随便定义) ,用来保存备份mysql数据的脚本 2. 编辑mysql.sh文件 (自己之前写过的一个脚本)  mysqldump -h172.25.252.62 -uroot -p123456 data_ua|gzip >data_ua.gz...
  • linux中备份mysql数据库

    千次阅读 2018-04-17 13:36:01
    在linux中备份mysql数据库,命令是:[root]# mysqldump -u 用户名 -p 密码 --all-databases > /home/mysql/bak.sql如果报错就添加如下:mysqldump -h localhost -u root -p psword root@172.16.123.88 --all...
  • 备份:选中数据库后右键转储sql文件,导出成为sql文件 导入:新建数据库之后在数据库上右键运行备份的sql文件
  • Linux下备份mysql数据库

    千次阅读 2020-01-17 11:59:32
    The mysqldump client utility performs logical backups, producing a set of SQL statements that can be executed to reproduce the ... It dumps one or more MySQL databases for backup or transfer to anot

空空如也

1 2 3 4 5 ... 20
收藏数 237,202
精华内容 94,880
关键字:

备份