这篇文章已经构思很久了,之前说过的,可以看下这篇文章MySQL数据库备份与恢复-使用MySQLDump记录 | 框架师,是一个可视化备份MySQL的需求,我们平台是BS的架构,有一个WEB 页面,客户需求是在页面上对所有的平台数据执行备份和恢复操作,那么就需要使用代码去调用MySQL备份和恢复的指令,下面是具体实现步骤;
这是《2015年博客升级记》系列文章的第八篇,同时也是这一系列文章的最后一篇,内容主要记录在Linux系统中如何使用shell脚本备份服务器上的博客程序(当然也可以是主机上的任何目录或者文件)。
我的petstore所用的数据库是Mysql。Mysql的数据库备份不象那些企业界数据库那样完善,分为完全备份、差分备份以及日记纪录等等。Mysql备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件。
脚本默认备份全库,也可以备份某个表,可以设置保留周期,结果压缩,将备份结果发送邮件通知。
#backup.sh #!/bin/sh #on xtrabackup 2.2.8 # 第一次执行它的时候它会检查是否有完全备份,否则先创建一个全库备份 # 当你再次运行它的时候,它会根据脚本中的设定来基于之前的全备或增量备份进行增量备份 #ocpyang@126.com INNOBACKUPEX_PATH=innobackupex #INNOBACKUPEX的命令 INNOBACKUPEXFULL=/usr/local/xtrabackup/bin/$INNOBACKUPEX
一、前言 1、本文主要内容 实现数据库全量备份 实现定时执行备份 实现定时清理7天之前的备份 2、环境信息 环境/工具 说明 MySQL v5.7.x mysqldump MySQL自带的数据导出工具 crontab 功能相当于Windows的任务计划工具 二、备份准备&备份测试 1、备份目录准备 #mysql专用目录 mkdir /mysql #mysql备份目录 mkdir /mysql/backup #mysql备份脚本 mkdir /mysql/backup/scripts #mysql备份文件
MySQL备份脚本写完之后,在命令行进行测试没问题,sql脚本大小正常。 但是我将写入crontab之后,第二天发现脚本执行了但是文件大小异常,大小为0。 一开始还我以为是mysql备份脚本得问题,然后仔细研究脚本,并没看出端倪,在网上也查阅了资料,这个跟我写的MySQL备份脚本没关系。 原因:由于mysqldump存在于全局环境变量mysql的bin下面,故在直接运行时可以识别到mysqldump命令,而在crontab里面无法识别到mysqldump命令。(ps:crontab运行失败问题基本都是环境变量引起的) 解决方法一: 在脚本前面加上
云数据库 MySQL(TencentDB for MySQL)是腾讯云基于开源数据库 MySQL 专业打造的高性能分布式数据存储服务,让用户能够在云中更轻松地设置、操作和扩展关系数据库。同时云数据库MySQL集成了数据库的备份功能,可以针对数据库实现数据库的自动数据备份、手动数据备份以及日志备份。
我不知道其他人怎么做。这个只是我自己摸索的做法。 1.Workbench中导出sql文件。File,export。一直下一步(当然也可以选一些东西) 2.处理Workbench出来的sql文件。例如开头一些set,结尾一些set貌似没用。删了。然后字符编码也要处理一下,默认好像是latin1。这里最好复制全文,然后新建一个sql粘贴。不然,其中的中文导入到mysql的时候会乱码。最好找一个mysql备份的sql文件对照一下,尤其是字符编码的sql语句写法。 3.打开CMD,输入mysql 4.执行sourc
项目主要使用docker的方式一键部署各类应用及工具。目前已经有7个大类,几十种工具实现一键部署。并且根据个人实际情况进行自定义部署。
大家好,又见面了,我是你们的朋友全栈君。MySQL命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql -u root -p (输入同样后会让你输入MySQL的密码) 4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库 5,输入:mysql>use 目标数据库名 如我输入的命令行:mysql>use news; 6,导入文件:mysql>source 导入的文件名; 如我输入的命令行:mysql>source news.sql; MySQL备份和还原,都是利用mysqldump、mysql和source命令来完成的。 1.Win32下MySQL的备份与还原 1.1 备份 开 始菜单 | 运行 | cmd |利用“cd \Program Files\MySQL\MySQL Server 5.0\bin”命令进入bin文件夹 | 利用“mysqldump -u 用户名 -p databasename >exportfilename”导出数据库到文件,如mysqldump -u root -p voice>voice.sql,然后输入密码即可开始导出。 1.2 还原 进入MySQL Command Line Client,输入密码,进入到“mysql>”,输入命令”show databases;”,回车,看看有些什么数据库;建立你要还原的数据库,输入”create database voice;”,回车;切换到刚建立的数据库,输入”use voice;”,回车;导入数据,输入”source voice.sql;”,回车,开始导入,再次出现”mysql>”并且没有提示错误即还原成功。 2.Linux下MySQL的备份与还原 2.1 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysqldump -u root -p Test>Test0809.sql,输入密码即可。 2.2 还原 法一: [root@localhost ~]# mysql -u root -p 回车,输入密码,进入MySQL的控制台”mysql>”,同1.2还原。 法二: [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [root@localhost mysql]# mysql -u root -p Test<Test0809.sql,输入密码即可(将要恢复的数据库文件放到服务器的某个目录下,并进入这个目录执行以上命令|)。 moodle_bak.sql是需要恢复的文件名
MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录如我输入的命令行:cd C:\ProgramFiles\MySQL\MySQL Server 4.1\bin (或者直接将windows的环境变量path中添加该目录)
下文对使用MySQL命令行备份及恢复数据库的方法及步骤进行了详细的介绍,如果您对MySQL命令行方面感兴趣的话,不妨一看。
mysql数据库中存储着网站最核心最宝贵的数据,如果因为不可预测的原因导致数据损坏或丢失,对一个网站的打击是毁灭性的,一次又一次的教训提醒着我们一定要做好备份,但是手工备份确实比较麻烦,每天都要手工操作一次,
其实对于Celery来说,网络上的资源和文档其实还是比较匮乏的,能够坚持坐下来,能够维护起来这样一个项目,确实不易。
最近疫情比较严重,一直处于远程办公的状态,只有一台笔记本,还是挺不方便的,于是工作效率也比较低,今天看了看数据备份相关的东西,总结了几个MySQL数据备份的注意事项,简单分享一下吧。
在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份。而Linux的crontab指令则可以帮助我们实现对数据库定时进行备份。首先我们来简单了解crontab指令,如果你会了请跳到下一个内容mysql备份。 本文章的mysql数据库是安装在docker容器当中,以此为例进行讲解。没有安装到docker容器当中也可以参照参照。
有句话说得好:『选择最好的不一定是最好的选择!』。AutoMySQLBackup算不上出类拔萃,但作为轻量级MySQL备份方案,对一些迷你项目而言,它绝对值得尝试。
为了把问题讲透,这就要从redo log,从LSN,从MySQL的故障恢复(crash-recovery)机制聊起。
概述 mysql脚本加crontab实现自动备份。 具体内容 vi /opt/mysqlBackup.sh #!/bin/bash mysql_user="USER" # MySQL备份用户 mysql_password="PASSWORD" # MySQL备份用户的密码 mysql_host="localhost" mysql_port="3306" mysql_charset="utf8" # MySQL编码 backup_db_arr=("db1" "db2") # 要备份的数据库名称,多
所以整体使用逻辑备份(mysqldump), 个别大表使用物理备份(导出表空间)
全备份的优点是备份保持最新备份,恢复的时候可以花费更少的时间;缺点是如果数据量大,将会花费很多的时间,并对系统造成较长时间的压力。增量备份相反,只需要备份每天的增量日志,备份时间少,对负载压力也小;缺点就是恢复的时候需要全备份加上次备份到故障前的所有日志,恢复时间长一些。
脚本下载地址http://code.taobao.org/p/python2/src/trunk/mysql_backup.py
Linux命令行备份和导入mysql备份文件(.sql) 备份命令 mysqldump -uname -ppasswd dabaseName > /mysql-back/backName.sql # mysqldump -h数据库地址(不填就是本机) -u数据库账号 -p密码 数据库名 > /路径/备份文件名.sql 导入.sql命令 方法1 mysql -u数据库账号 -p密码 # 进入控制台 source /路径/备份文件名.sql 方法2 mysql -u数据库账号 -p密码 数据库名 < /路径/
#!/bin/bash # 以下配置信息请自己修改 mysql_user="root" #MySQL备份用户 mysql_password="summer123" #MySQL备份用户的密码 mysql_host="192.168.0.1" mysql_port="3306" mysql_charset="utf8" #MySQL编码 backup_db_arr=("testapp") #要备份的数据库名称,多个用空格分开隔开 如("db1" "db2" "db3") backup_location=/
项目war文件 及 mysql备份文件下载地址:http://dl.vmall.com/c0ejjni0ai
在日常管理服务器的MySQL备份时,比较常用的压缩备份命令,对于新手掌握命令后,可以快速实现使用tar备份打包数据库的文件操作。
公司的官方网站从春节前无缘无故就出现连接数据库异常的现象,由于以前也出现过,再加上没多久逢年过节,也就没有太在乎这个情况,仅仅试着重新启动了网站数据库。逢年过节的时候我发现了有一些不太对,网站数据库只有一打开没多久就宕掉。检查服务器里的资源,发现服务器的内存被占满,CPU达到百分之100就连远程连接都越来越巨慢至极,因此开展对该网站被攻击的问题解决。
一行命令 mysqldump -h172.168.15.222 -P3406 -uroot -p123456 -C --databases artisan |mysql -h172.168.15.221 -P3406 -uroot -p123456 zfdc -C 压缩 ---- Shell 导入导出 【导出】 #!/bin/bash # 以下配置信息请根据现场实际情况修改 mysql_user="root" #MySQL备份用户 mysql_password="123456" #MySQL备份用户的
今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。 看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下mysql里面的数据库,这个比较简单,和mysql命令用法是一样的,运行一遍就ok了。然后发现还是无法关闭innodb,很奇怪,查了下发现原来mysql5.5默认使用innodb了,所以无法简单的关闭掉,还要设置一下默认使用的引擎为myisam才可以,在my.cnf里加上如下两句: 复制代码 代码如下: default-storage-engine=MYISAM innodb=OFF 重启mysql,然后删掉那三个讨厌的文件即可。 MySQL 5.6 禁用INNODB INNODB是MySQL被ORACLE收购后开发的,支持事务和行级锁等高级功能,但是并不是所有人都需要INNODB的,对大部分人来说,以前的MYISAM引擎就够了,一般会选择将默认引擎改为MYISAM,但是INNODB还是会耗费内存和硬盘,这时候,就需要把INNODB彻底禁用。 在以前的MySQL中,一般可以这么设置就行了: 复制代码 代码如下: default-storage-engine=MYISAM skip-innodb 但是在最新的MySQL5.6里,这么设置是没法启动的,需要再增加一句设置: 复制代码 代码如下: default-tmp-storage-engine=MYISAM 不仅如此,还需要添加以下配置,否则程序会很容易退出的: 复制代码 代码如下: loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 loose-innodb-metrics=0 loose-innodb-ft-default-stopword=0 loose-innodb-ft-inserted=0 loose-innodb-ft-deleted=0 loose-innodb-ft-being-deleted=0 loose-innodb-ft-config=0 loose-innodb-ft-index-cache=0 loose-innodb-ft-index-table=0 loose-innodb-sys-tables=0 loose-innodb-sys-tablestats=0 loose-innodb-sys-indexes=0 loose-innodb-sys-columns=0 loose-innodb-sys-fields=0 loose-innodb-sys-foreign=0 loose-innodb-sys-foreign-cols=0 摘自http://docs.oracle.com/cd/E17952_01/refman-5.6-en/innodb-turning-off.html 另外MYSQL 5.6 比 5.5占用了更多的物理内存,虚拟内存跟5.5使用差不多(5.5也是一个虚拟内存消耗大户)。性能上比5.5提升了30%左右(根据官方文档,没作具体测试)。
今天发现有一个备份的mysql数据文件夹异常变大,一查发现是多了三个文件:ibdata1 ib_logfile0 ib_logfile1,前者18m,后两个各5m,原来是迁移的时候从mysql5.0迁移到了5.5,而5.5关闭innodb启动不起来,于是我就开启了innodb,由于innodb会默认增加这几个数据文件和日志文件,导致变大。尝试设置数据文件的大小,结果告诉我最小10m,还是太大,于是探索关闭innodb的方法。 看日志发现说由于mysql程序升级了,需要运行mysql_upgrade升级一下
数据备份不仅仅是开发、运维需要了解、熟练和掌握,一些架构设计或系统设计也需要熟练掌握,以备不时之需。最多的应用应该是编制文档上面的技术方案或者安全方案中涉及。
mysqldump的产出物是一个包含了建表,插入数据的SQL语句集合,类似于这样:
eg1:mysqldump -uroot -p0295 test2 > ../test2.bak.sql备份到了父目录
导读:本文介绍MySQL数据库备份之主从同步配置,通过将腾讯云服务器上的MySQL备份到本地服务器中这个例子来做出展开解释。
一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。
mysql数据库备份有多么重要已不需过多赘述了,废话不多说!以下总结了mysql数据库的几种备份方案: 一、binlog二进制日志通常作为备份的重要资源,所以再说备份方案之前先总结一下binlog日志~~ 1.binlog日志内容 1)引起mysql服务器改变的任何操作。 2)复制功能依赖于此日志。 3)slave服务器通过复制master服务器的二进制日志完成主从复制,在执行之前保存于中继日志(relay log)中。 4)slave服务器通常可以关闭二进制日志以提升性能。 2.binlog日志文件的文
tar jcvf data_cold_back.tar.bz2 data 当需要进行冷备份操作时, 只需执行脚本命令即可(操作会覆盖掉之前备份的压缩文件,没啥不利影响)
墨墨导读:本文介绍MySQL数据库备份之主从同步配置,通过将腾讯云服务器上的MySQL备份到本地服务器中这个例子来做出展开解释。
作为一名合格的MySQL DBA,备份是重中之重。为了保证备份集的安全可靠,除了集中存储以外还有其他更好的方案吗? 当然是有的,可以存储在OSS或者分布式存储上。那么问题来了,如何能够实现自动备份,不需要人工干预即可上传到OSS上,节约大量的时间去悠哉悠哉地喝喝茶、看看报呢?且听下文
最近一直想写点博客,但是不知道写什么,感觉自己最近的知识没有什么增加,今天想到了一篇可以写的博客。以前试过根据data文件夹备份MySQL,但是从来没有成功过,前几天帮助朋友还原MySQL,终于成功的将备份的data文件夹还原成功了。
以上就是mysql备份数据库的方式,大家在了解了基本的备份方法后,可以对本篇的实例进行体会。更多mysql学习指路:MySQL
WDCP也算是国产中颇受大家欢迎的VPS主机面板了,提供了nginx、apache、mysql、php等Web建站环境一键搭建。印象中,国内VPS主机面板也就是WDCP还在坚持着,AMH已经走上了收费的道路(PS:免费版本长年不更新,各种问题和不兼容)。
在本文中,我们将分享如何为您的数据库创建自动的远程数据库备份。 第1步 通过SSH登录到数据库服务器。您也可以从终端上进行操作。 ssh you-ssh-user@your-server-ip 第2步 在当前用户的主目录中创建一个Shell脚本文件: touch ~/mysql-backup.sh 使用vim打开Shell脚本: vim ~/mysql-backup.sh 将以下内容复制并粘贴到 〜/ mysql-backup.sh 中: #!/bin/bash export PATH=/bin:/usr
Mysql备份方式 1、mysqldump -f 强制执行 --single-transaction 保证备份一致性,实际是把session设成repeatable read --default-character-set 设置字符集 -q 转存大表,一行一行放入内存,而不是全部一起放入 -R 备份存储过程和函数 --trigger 备份触发器 -B 转存几个数据库 -n 不提供创建数据库语句 -d 不备份数据 --master-data 记录主库binlog位置及检查点 -t 提供建表语句 --comm
领取专属 10元无门槛券
手把手带您无忧上云