-
linux mysql备份迁移_windos下mysql迁移到LINUX数据冷备份及恢复
2021-01-19 16:25:13将windows下mysql数据进行冷备份并在linux下做数据恢复,这样做是没什么问题的,至少我没有遇见问题。当然最是mysql版本保持一致,下面就是操作步骤。一、数据冷备份将WINDOWS下的mysql数据库文件整个复制至linux下/...将windows下mysql数据进行冷备份并在linux下做数据恢复,这样做是没什么问题的,至少我没有遇见问题。当然最是mysql版本保持一致,下面就是操作步骤。
一、数据冷备份
将WINDOWS下的mysql数据库文件整个复制至linux下/db/data目录。至于怎么样进行win→linux数据CP,这我在之前的文章中已经写过,在此不在重复。
二、删除linux原本自带mysql
rpm -qa | grep mysql(查看原来系统配有的mysql)
rpm -e mysql-libs-5.1.66-2.el6_3.x86_64 --nodeps
cd /etc/
ls my*
三、建立mysql 用户
groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql /opt/data
chmod -R 755 /opt/data
四、yum install mysql
安装mysql-service
service mysqld start(开启mysql服务)
五、修改my.cnf
修改datadir
添加 skip-grant-tables
六、寻找mysql的bin文件/usr/bin
./mysqladmin -uroot password 'admin888'
七、设置远程连接
mysql -u root -p
grant all on *.* to 'root'@'%' identified by 'admin888';
使用客户端(phpadmin等客户端软件)远程连接数据库查看,迁移的数据库恢复没有。
转发至微博
转发至微博
-
mysql 定时同步数据_linux定时备份mysql数据库
2021-01-23 06:19:39没办法,最后从内网扒数据,一顿操作猛如虎,搞到晚上12点。还好最终修复了。(生产数据库),为了有效的阻止此类事件的再次发生,记录一下。1、开启binlog日志找到my.cnf位置并打开此文件,加...背景:昨天误操作数据库,执行了一个update操作,where条件没有生效,原因是set某值的时候value里有引号,导致悲剧的发生。悲剧发生之后第一时间查了一下binlog日志有没有打开,果然,没有打开。没办法,最后从内网扒数据,一顿操作猛如虎,搞到晚上12点。还好最终修复了。(生产数据库),为了有效的阻止此类事件的再次发生,记录一下。
1、开启binlog日志
找到my.cnf位置并打开此文件,加入下边命令
log_bin=ONlog_bin_basename=/var/lib/mysql/mysql-binlog_bin_index=/var/lib/mysql/mysql-bin.index/**三个参数来指定,第一个参数是打开binlog日志第二个参数是binlog日志的基本文件名,后面会追加标识来表示每一个文件第三个参数指定的是binlog文件的索引文件,这个文件管理了所有的binlog文件的目录*/
2、每天定时备份数据库
如:
cd /u02touch start.shvim start.sh 并将以下内容复制进去#备份整个数据库#设置要备份的表空格隔开databases="XXXXXX";#需要备份的数据库username="root"password='XXXXXX';logtime=$(date "+%m%d");mysqltime=$(date "+%H%M");mysqllogdir="/u02/log/mysql/"${logtime}mysqlbackdir="/u02/back/mysql/"${logtime}/${mysqltime};if [ ! -d "${mysqllogdir}" ] ;thenmkdir -p ${mysqllogdir};fi ;if [ ! -d "${mysqlbackdir}" ] ;thenmkdir -p ${mysqlbackdir};fi ;echo 【$(date "+%Y-%m-%d%H:%M:%S")】"触发了备份数据库操作"${databases} >>${mysqllogdir}/${logtime}.log 2>&1 &/usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf -u${username} -hlocalhost -p${password} --databases ${databases} >${mysqlbackdir}/${databases}.sql#然后将此脚本在定时器中打开执行crontab -e输入: 03 20 * * 0-6 /u02/start.sh
因领导担心数据库重启有问题,故没有将数据库重启,binlog暂时未生效。只能通过第二种方式备份了。
-
linux下定时备份mysql数据库
2018-05-18 16:00:13之前也没写过了,但是思路很简单,写个导出数据库结构和数据的sql,然后定时调度就ok了。于是搜了一发,看下xshell脚本的语法,以及Linux系统上怎么做定时任务:1、编写备份脚本#!/bin/sh cd /www/server/mysql/bin/...本人是个java程序员,朋友自己做了个游戏,前段时间因为数据挂了没有备份导致数据丢失,想找我帮忙写个定时备份的脚本。
之前也没写过了,但是思路很简单,写个导出数据库结构和数据的sql,然后定时调度就ok了。于是搜了一发,看下xshell脚本的语法,以及Linux系统上怎么做定时任务:
1、编写备份脚本
#!/bin/sh cd /www/server/mysql/bin/ DATE=`date +%Y%m%d_%H%M%S` mysqldump -uyouruser -pyourpassword databasename > /home/mysql_bak/mhzx_$DATE.sql cd /home/mysql_bak gzip databasename_$DATE.sql
简单解释下脚本,第一步进入mysql的安装目录(换不换目录都可以的);第二步声明个变量——当前时间;第三步开始备份,导出指定库的表结构和数据;第四步是压缩文件。
2、配置定时任务(crontab命令可以在指定的时间执行一个shell脚本或者一系列Linux命令)
crontab -e
输入完以上命令会出来一个可编辑态文件,如下图:
添加一个任务,表达式+空格+要执行的脚本的路径,这里的表达式有5个参数,和java里面的cron表达式差不多,从左往右依次为分钟、小时、天、月、星期
编辑完保存就OK了
-
linux mysql增量备份脚本_Mysql日常备份和增量备份脚本(Linux)
2021-01-19 01:29:37脚本描述每7天备份一次所有数据,每天备份binlog,也就是增量备份.(如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)作者对shell脚本不太熟悉,所以很多地方写的很笨 :)开启 bin log在mysql 4.1版本中,默认...脚本描述
每7天备份一次所有数据,每天备份binlog,也就是增量备份.
(如果数据少,每天备份一次完整数据即可,可能没必要做增量备份)
作者对shell脚本不太熟悉,所以很多地方写的很笨 :)
开启 bin log
在mysql 4.1版本中,默认只有错误日志,没有其他日志.可以通过修改配置打开bin log.方法很多,其中一个是在/etc/my.cnf中的mysqld部分加入:
[mysqld]
log-bin
这个日志的主要作用是增量备份或者复制(可能还有其他用途).
如果想增量备份,必须打开这个日志.
对于数据库操作频繁的mysql,这个日志会变得很大,而且可能会有多个.
在数据库中flush-logs,或者使用mysqladmin,mysqldump调用flush-logs后并且使用参数delete-master-logs,这些日志文件会消失,并产生新的日志文件(开始是空的).
所以如果从来不备份,开启日志可能没有必要.
完整备份的同时可以调用flush-logs,增量备份之前flush-logs,以便备份最新的数据.
完整备份脚本
如果数据库数据比较多,我们一般是几天或者一周备份一次数据,以免影响应用运行,如果数据量比较小,那么一天备份一次也无所谓了.
下载假设我们的数据量比较大,备份脚本如下:(参考过网络上一个mysql备份脚本,致谢 :))
#!/bin/sh
# mysql data backup script
# by scud http://www.jscud.com
# 2005-10-30
#
# use mysqldump --help,get more detail.
#
BakDir=/backup/mysql
LogFile=/backup/mysql/mysqlbak.log
DATE=`date +%Y%m%d`
echo " " >> $LogFile
echo " " >> $LogFile
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump --quick --all-databases --flush-logs
--delete-master-logs --lock-all-tables > $DumpFile
echo "Dump Done" >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo "[$GZDumpFile]Backup Success!" >> $LogFile
rm -f $DumpFile
#delete previous daily backup files:采用增量备份的文件,如果完整备份后,则删除增量备份的文件.
cd $BakDir/daily
rm -f *
cd $BakDir
echo "Backup Done!"
echo "please Check $BakDir Directory!"
echo "copy it to your local disk or ftp to somewhere !!!"
ls -al $BakDir
上面的脚本把mysql备份到本地的/backup/mysql目录,增量备份的文件放在/backup/mysql/daily目录下.
注意:上面的脚本并没有把备份后的文件传送到其他远程计算机,也没有删除几天前的备份文件:需要用户增加相关脚本,或者手动操作.
增量备份
增量备份的数据量比较小,但是要在完整备份的基础上操作,用户可以在时间和成本上权衡,选择最有利于自己的方式.
增量备份使用bin log,脚本如下:
#!/bin/sh
#
# mysql binlog backup script
#
/usr/bin/mysqladmin flush-logs
DATADIR=/var/lib/mysql
BAKDIR=/backup/mysql/daily
###如果你做了特殊设置,请修改此处或者修改应用此变量的行:缺省取机器名,mysql缺省也是取机器名
HOSTNAME=`uname -n`
cd $DATADIR
FILELIST=`cat $HOSTNAME-bin.index`
##计算行数,也就是文件数
COUNTER=0
for file in $FILELIST
do
COUNTER=`expr $COUNTER + 1 `
done
NextNum=0
for file in $FILELIST
do
base=`basename $file`
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $COUNTER ]
then
echo "skip lastest"
else
dest=$BAKDIR/$base
if(test -e $dest)
then
echo "skip exist $base"
else
echo "copying $base"
cp $base $BAKDIR
fi
fi
done
echo "backup mysql binlog ok"
增量备份脚本是备份前flush-logs,mysql会自动把内存中的日志放到文件里,然后生成一个新的日志文件,所以我们只需要备份前面的几个即可,也就是不备份最后一个.
因为从上次备份到本次备份也可能会有多个日志文件生成,所以要检测文件,如果已经备份过,就不用备份了.
注:同样,用户也需要自己远程传送,不过不需要删除了,完整备份后程序会自动生成.
访问设置
脚本写完了,为了能让脚本运行,还需要设置对应的用户名和密码,mysqladmin和mysqldump都是需要用户名和密码的,当然可以写在脚本中,但是修改起来不太方便,假设我们用系统的root用户来运行此脚本,那么我们需要在/root(也就是root用户的home目录)创建一个.my.cnf文件,内容如下
[mysqladmin]
password =password
user= root
[mysqldump]
user=root
password=password
注: 设置本文件只有root可读.(chmod 600 .my.cnf )
此文件说明程序使用mysql的root用户备份数据,密码是对应的设置.这样就不需要在脚本里写用户名和密码了.
自动运行
为了让备份程序自动运行,我们需要把它加入crontab.
有2种方法,一种是把脚本根据自己的选择放入到/etc/cron.daily,/etc/cron.weekly这么目录里.
一种是使用crontab -e放入到root用户的计划任务里,例如完整备份每周日凌晨3点运行,日常备份每周一-周六凌晨3点运行.
-
linux mysql 邮件_linux下每天备份Mysql数据库并发送到指定邮箱
2021-01-27 05:03:40最近买了个云服务器搭了个博客,突然想到博客的数据安全问题,虽然这博客现在没什么有价值的东西,毕竟以后也可能积累出一些经验和心得,养成良好的备份习惯是很有必要的。搜索了相关资料,过程其实很简单,从学习到... -
记一次自己写linux定时备份mysql数据库
2018-03-29 11:05:32由于项目要求,必须要写一个定时任务来备份mysql数据库的数据。由于之前的时候从来没有接触过linux脚本命令,所以对我来说就是简直了。没办法,来查吧,查了半天,按照人家说的也写了半天,就是不行。后来找大牛给看... -
linux环境下批量备份mysql数据库
2020-03-30 13:06:21一行命令搞定mysql所有库备份问题 数据安全 Play more and more important role in our daily life! 耶!居然第一次没查字典把英文打全了。。。屌丝中的战斗机啊! 老板要求我一条命令搞定所以数据库的备份。。 ... -
Linux 下mysql的定时备份
2018-11-17 20:20:00在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了。... -
windos下mysql迁移到LINUX数据冷备份及恢复
2014-04-16 21:27:29将windows下mysql数据进行冷备份并在linux下做数据恢复,这样做是没什么问题的,至少我没有遇见问题。当然最是mysql版本保持一致,下面就是操作步骤。一、数据冷备份将WINDOWS下的mysql数据库文件整个复制至linux下/... -
Linux Mysql 定时自动备份
2016-07-27 16:59:08我说没有啊,他说最好弄一个自动备份的吧,万一哪天数据没了,那可就悲催了。我一想也是。于是在网上找了一下,看到一个利用linux 自带的定时任务来实现mysql自动定时备份的,感觉不错,于是就弄了一个。下面就开始... -
Linux Shell 脚本 自动备份 Mysql 数据库
2016-10-10 22:37:12数据备份非常重要,在单服务器时代(还没做集群架构),每天自己去导一遍数据库保存起来,实在是太麻烦,而且容易忘,那么如何来解决这个问题呢?解决方案mysqldump -u[用户名] -p[密码] [数据库名称] > /backup/db/... -
MySQL备份shell_shell脚本实现mysql数据备份
2021-01-18 20:33:12mysql数据备份今天遇到一个很傻逼的问题,有人登上开发服务器,不知是有意还是无心;把mysql里面的库全部删除了。。。那个人结果如何,我们就不作讨论了。。。没办法我只能写个shell脚本,用crontab跑下定时;做些... -
linux下mysql主主复制做双机热备份
2019-03-27 13:39:11搭建两台MySQL服务器,实现主主复制做双机热备份 环境 主数据库1: 192.168.1.39 主数据库2: 192.168.1.40 mysql版本都是5.7.25, for linux 数据库准备 保证两个数据库中的库和数据是一致的 要点 主主... -
java备份MySQL (windows linux)
2009-12-08 18:01:00作为初级的管理员,每天都要备份数据,自动的任务不会设置,于是‘基本靠手’,这样不但繁琐,还保不齐甲流隔离了,有手没处使。 所以写个java类吧,加载到SPRING程序的自动运行任务中。思路就是使用java调用系统的... -
java备份MySQL (windows linux)
2009-11-27 09:49:00作为初级的管理员,每天都要备份数据,自动的任务不会设置,于是‘基本靠手’,这样不但繁琐,还保不齐甲流隔离了,有手没处使。 所以写个java类吧,加载到SPRING程序的自动运行任务中。思路就是使用java调用系统的... -
Mysql如何在linux中实现定时备份
2020-12-14 06:48:27在实际项目中,数据库是要经常备份的,就是为了防止突发情况,前段时间,我的数据库就遭遇了入侵要支付B特比的,结果数据全没了,哎,还好当时只是个测试库,不过有了这次危机,也就开始意识到了这个问题了。... -
linux中go读取mysql_如何利用Golang解析读取Mysql备份文件
2021-01-27 05:50:57使用备份文件恢复大文件编辑器,glogg-latest-x86_64-setup通过该文件打开备份文件,虽然过程稍慢,但是能够打开,且正常读取编辑信息,要恢复的数据量不大时采取是没问题的,但是如果表几十万行,操作起来就比较... -
shell脚本应用——5.Linux定时备份数据库(mysql)
2019-01-24 15:52:47备份数据库,也应该进行异地备份,因为假如这个城市发生了不可挽回的灾难,整个城市都处于灾难中,那在这个城市的数据肯定全没了,如果做了异地备份,那数据还可以找回。 备份数据库其实就是crontab定时执行shell... -
Linux系统架构-----MySQL完全备份、恢复与增加备份、恢复
2020-01-08 22:36:51数据库备份提高系统的高可用性和灾难恢复性,在数据库系统崩溃时,没有数据库备份就没办法找到数据 使用数据库备份还原数据库,是数据库崩溃时提供数据恢复最小代价的最优方案,如果让用户重新添加数据,代价未免太... -
linux下查看mysql二进制日志_Linux下MySQL数据库二进制日志恢复方法
2021-01-19 17:23:46今天犯了一个天大的错误,我一星期的实验数据都没了,我的手啊,怎么这么欠呢,眼睛怎么那么歪呢,没看准,把delete看成select了,没做备份,没有办法,后来问谁都没有办法,自己从网上搜琢磨出点门道,有的好心人说... -
Linux运维学习笔记之二十:MySQL备份和恢复基础
2018-02-27 20:54:47第三十一章 MySQL备份和恢复基础 一、备份的意义 运维就是作两件事:一个是保护公司的数据,另一个是网站7*24小时提供服务。那么,哪个更重要?要具体看业务和公司。 银行等金融业:数据最重要,一条都不能丢,但... -
mysql没备份怎么恢复_mysql数据没有备份误删了怎么恢复
2021-01-25 13:10:31打开mysql的bin log功能:对于mysql也是支持增量备份,但要打开mysql的bin log功能。我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini我们在[mysqld]下面加上log-bin一行代码,如下面... -
linux mysql frm文件_MySQL中的data下的数据文件(.FRM、.MYD、.MYI)恢复为数据
2021-01-19 12:43:19记一次MySQL中的data文件操作经历想拿到一个项目的最新的数据,做功能升级使用,备份一份数据同时也作为本地测试数据,文件有些大,我直接通过远程的phpmyadmin程序导出,不能愉快的玩耍,直接联系了IDC的同事帮忙导... -
Linux MySQL+docker MySQL 搭建主主(练手)
2020-11-15 22:59:01搭建两台MySQL服务器,实现主主复制做双机热备份,宿主机Linux MYSQL和Linux上用docker安装一个MySQL实现主主复制 环境 主数据库: 192.168.1.52:3306 主数据库: 192.168.1.52:13306 mysql版本都是5.6.49, for linux ... -
CentOS7 MySQL定时自动备份实现
2019-12-22 18:37:39本文70%转载自:linux mysql定时自动备份实现 生产环境遇到得最幸福得事情就是,某些场景没办法避免去update或者delete的时候,某个参数没有注意。完蛋了 完蛋了,数据被我搞崩了怎么办,赶紧去运营找备份呀!运营... -
mysql数据库备份之percona Xtrabackup
2020-09-02 21:03:43本文讲述的是在Linux环境下的Mysql 5.7的数据库整库备份,是作为我们去年数据库备份工具。 一、为什么选择XtraBackup 公司组建开发团队,以前公司系统外包出去。去年年初到了现在的公司,一顿检查吓了一大跳。. -
mysql数据恢复
2016-07-22 13:42:36对于mysql也是支持增量备份,但要打开mysql的bin log功能。 我们修改mysql的配置文件。linux是/etc/my.cnf,windows是mysql的安装目录/my.ini 我们在[mysqld]下面加上log-bin一行代码,如下面。 [mysqld] log...
-
技术导航【带后台】
-
判断单调数组
-
影视系统源码非常好看的影视界面
-
MySQL 高可用(DRBD + heartbeat)
-
舔狗日记Puls小程序有源码
-
555_linux命令行中查看文件夹占用的空间大小
-
【ssm项目源码】媒体资产管理系统.zip
-
将powershell负载编码为bat文件
-
QT实现三点求圆心以及半径
-
vc老板键-全局热键隐藏指定的应用窗口.visual c++
-
鸿蒙系统Harmonyos源码架构分析-第1期第2课
-
stm32cubemx,f103vet6不要用1.8.3版本库,用1.8.0版本
-
我的第一篇文章:.net 平台性能测试工具BenchmarkDotNet
-
使用idea启动时报错,解决方法。
-
导出excel.XLS表格数据到MS SQLSERVER数据库中.zip
-
KumiaoQQ机器人框架源码(带成品)
-
俄罗斯方块游戏代码(C++)
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
WINDOWS核心编程_笔记合集.zip
-
AppEncrypt.zip