Linux下mysql数据库的备份putty(精选4篇)
1.Linux下mysql数据库的备份putty 篇一
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的,
1、创建保存备份文件的路径/mysqldata
#mkdir /mysqldata
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql
输入
rq=` date +%Y%m%d `
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
或者写成
rq=` date +%Y%m%d `
mysqldump --all-databases -u root -p密码 > /mysqldata/mysql$rq.sql
/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同
/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做,
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
#vi /etc/crontab
在下面添加
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟执行备份
5、重新启动crond
# /etc/rc.d/init.d/crond restart
完成。
这样每天你在/mysqldata可以看到这样的文件
mysql0619.tar.gz
你直接下载就可以了。
2.Linux下mysql数据库的备份putty 篇二
关键词:Oracle,归档模式,归档日志,物理备份
1场景说明
在数据库的维护和管理过程中, 作为数据库的DBA, 尽量避免数据库出现故障, 努力延长平均故障间隔时间 (MTBF) :定期执行操作系统维护, 缩短平均恢复时间 (MTTR) :提前确定恢复过程方案并配置备份。由于硬件的故障无法避免、迟早要发生, 而逻辑错误也时有发生, 必须最大程度地保护数据不会丢失, ORACLE从8I开始支持RMAN备份功能, 通过版本的不断升级和完善, 到11G下已经非常成熟, RMAN基本成为数据库备份的必备工具。
2实现步骤
2.1 环境准备
(1) LINUX下建立备份目录/backup以oracle用户登陆备份文件系统, 创建备份目录
# su - oracle
$ mkdir ./backup ./backup/bin ./backup/db ./backup/log
/backup/bin目录放置备份脚本
/backup/db目录放置备份文件
/backup/log目录放置备份日志
备份文件系统挂接在“/opt/orabackup”下, 需根据现网实际情况调整备份文件系统挂接目录。备份目录“/backup”必须位于备份文件系统的第一层目录下。一般来说备份文件系统和备份目录为RMAN物理备份专用, 不允许将其他的文件放入备份目录, 以防止备份空间被占用而无法完成归档操作。
(2) 确保linux下的oracle用户有执行crontab的权限
LINUX系统默认不允许任何用户都可使用cron进行作业调度, 对用户的限制有两个文件, 它们是/etc/cron.allow和/etc/cron.deny。如果用户名被添加到/etc/cron.allow文件中, 则该用户被允许使用cron, 而不在该文件中的用户则不允许使用, 如果用户被添加到/etc/cron.deny中, 则该用户不能使用cron, 其它用户则可以使用cron。通常我们根据需要配置其中一个文件就可以了。 (一般我们使用cron.allow, 如果/etc/下没有这个文件, 手工编辑一个即可) 。
分别在双机两个节点上执行
# vi /etc/cron.allow
oracle
以oracle用户登陆, 然后执行crontab –l
$ crontab -l
如果不报错, 说明oracle用户已经有执行cronjob的权限;如果报错, 请用root用户给oracle用户增加crontab的权限。注意, 不同平台的linux环境设置crontab的方法并不完全相同, 请根据平台不同做相应的设置。
2.2 RMAN实施过程
(1) 更改ORACLE数据库到归档模式
对于数据库物理备份, 首先需要决定数据库的运行模式:ARCHIVELOG (归档模式) 和NOARCHIVELOG (非归档模式) 。由于NOARCHIVELOG模式下, ORACLE只支持Offline模式的备份, 电力信息数据库统是实时生产系统, 因而必须使用ARCHIVELOG在线备份模式。在ORACLE执行在线物理备份期间数据库所产生的ARCHIVELOG都必须进行备份, 没有这些ARCHIVELOG, 物理备份的数据库一致性就无法保证, 物理备份也就是不可用的。在登录, 修改archive的缺省参数, 以下是必须修改的参数:
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
SQL>archive log list;
Database log mode Archive Mode
如果显示结果第一行如上所示, 说明已经是archivelog mode。
(2) 创建恢复目录 (recovery catalog)
因为RMAN自动维护备份和恢复所需要的各种信息, 所以RMAN必须把这些信息以某种形式保存。RMAN支持两种形式保存这些信息, 数据库的控制文件或创建一个单独的recovery catalog (恢复目录) 来保存RMAN的信息。恢复目录实质就是用一个单独的数据库用户来保存备份信息。
创建用于备份和恢复的用户RMAN。
SQL> create user rman identified by rman
QL> grant connect, resource, recovery_catalog_owner to rman;
$ rman catalog=rman/rman@orabak
RMAN> create catalog;
orabak为恢复目录数据库的tns名称。
重新连接目标数据库, 并注册目标数据库。
$ rman target=sys/sys@suseora catalog=rman/rman@orabak
RMAN> register database;
修改JOB:
SQL> alter system set job_queue_processes=10;
2.3 数据库备份
(1) 全库备份
以Oracle用户登陆, 在cron中增加backup_db.sh的定时调用。
--以oracle用户登录:
$crontab -e
# 3:01 am ervery sunday
13 * * 0/opt/orabackup/backup/bin/backup_db.sh
由于篇幅有限, 不能全部描述, backup_db.sh主要内容如下:
run {
allocate channel t1 type disk;
backup
skip inaccessible filesperset 6 keep forever as compressed backupset
format '/opt/orabackup/backup/db/bk_%s_%p_%t_%T'
format '/opt/orabackup/backup/db/bk_%s_%p_%t_%T'
database plus archivelog delete input;
delete noprompt obsolete;
}
(2) 归档日志备份
对目标数据库的归档日志备份操作如下:以Oracle用户登陆, 在cron中增加backup_arch.sh的定时调用。
$crontab -e
#ervery 3 hour
45 0, 3, 6, 9, 12, 15, 18, 21* * * /opt/orabackup/backup/bin/backup_arch.sh
backup_arch.sh主要内容如下:
run {
sql 'alter system archive log current';
Backup skip inaccessible filesperset 6 as compressed backupset
format '/opt/orabackup/backup/db/bk_%s_%p_%t_%T'
delete noprompt obsolete;
}
2.4 数据库恢复
RMAN的整个恢复过程可以分为restore与recover, 一般来说, 做数据库的恢复都是先做restore, 再做recover。对于RMAN的备份, restore操作只能用RMAN来做, 对于恢复操作则比较灵活, 除了RMAN, 也可以在SQLPLUS中完成。以下将介绍如何利用RMAN进行数据恢复。
RMAN可以做到数据库很多种恢复, 有单个文件恢复、整个数据库的恢复和基于某个时间点的恢复。
(1) 从独立的数据文件恢复
独立的数据文件损坏, 可以在数据库打开的情况下使用RESTORE DATAFILE和RECOVER DATAFILE两个命令进行恢复。
首先将数据文件脱机, 然后利用RMAN进行恢复。
$rman target=/ catalog=rman/rman@orabak
rman>run{
SQL "ALTER DATABASE DATAFILE 4 OFFLINE";
RESTORE DATAFILE 4;
RECOVER DATAFILE 4;
SQL "ALTER DATABASE DATAFILE 4 ONLINE";
}
(2) 控制文件恢复
如果控制文件遭到破坏, 需要先进行RESTORE CONTROLFILE的操作, 再还原和恢复数据库。
所有控制文件损坏且数据文件未损坏。
$rman target=/ catalog=rman/rman@orabak
rman>run{
startup nomount;
RESTORE CONTROLFILE;
SQL "ALTER DATABASE MOUNT";
}
(3) 基于时间点的不完全恢复
有时候因为某种特殊原因, 如误删除或误drop掉某些重要的表, 需要将数据库恢复到过去的某一时间点。如2012/12/18 14:29:00时刻误drop掉某重要业务表, 20分钟后发现问题, 这时可以将数据库恢复到25分钟前未做误操作的状态。
—将数据库停掉
SQL>shutdown immediate;
rman target=/ catalog=rman/rman@orabak
rman>run{
startup mount;
set until time "to_date ('201212-18 14:25:00', 'yyyy-mm-dd hh24:mi:ss') ";
restore database;
recover database;
sql "alter database open resetlogs";
}
完成以上步骤后, 数据库就被恢复到过去的时间点了。特别要注意, 完成以上操作后, 必须立刻对数据库做一次全备份。
3总结
3.Linux下mysql数据库的备份putty 篇三
2014-04-04mysql双向加密解密方式用法详解
-05-05MySQL服务器默认安装之后调节性能的方法
-04-04使用java处理字符串公式运算的方法
2014-02-02MySQL的Replace into 与Insert into on duplicate key update真正
-10-10mysqldump造成Buffer Pool污染的研究
2014-04-04mysql存储过程实例
-12-12MySQL replace函数替换字符串语句的用法
2014-01-01Mysql的longblob字段插入数据问题解决
4.Linux下mysql数据库的备份putty 篇四
1、下载MySQL免安装版/二进制版软件(不用编译)
文件格式:MYSQL-VERSION-OS.tar.gz
2、创建MySQL组,建立MySQL用户并加入到mysql组中
(不同版本的Unix中,groupadd和useradd的语法可能会稍有不同。)
代码如下复制代码
#groupadd mysql
#useradd -g mysql mysql
3、进入目录/usr/local,解压缩免安装版,并在此目录中建立名为mysql的软链接
代码如下复制代码
#cd /usr/local
#gunzip < /path/to/MYSQL-VERSION-OS.tar.gz | tar xvf -
(该命令会在本目录下创建一个名为MYSQL-VERSION-OS的新目录。)
(使用GNU tar,则不再需要gunzip。你可以直接用下面的命令来解包和提取分发:
代码如下复制代码
#> tar zxvf /path/to/mysql-VERSION-OS.tar.gz)
#ln -s MYSQL-VERSION-OS mysql
4、添加MySQL配置文件
如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。
代码如下复制代码
#cp support-files/my-medium.cnf /etc/my.cnf
(可能你需要用root用户运行这些命令。)
5、设定目录访问权限,用mysql_install_db创建MySQL授权表初始化,并设置mysql,root帐号访问权限
代码如下复制代码
#cd mysql
#chown -R mysql .
#chgrp -R mysql .
#scripts/mysql_install_db –user=mysql
#chown -R root .
#chown -R mysql data
(注意以上命令中的” . “符号不能少。)
6、运行MySQL
代码如下复制代码
#bin/mysqld_safe –user=mysql &
(如果没有问题的话,应该会出现类似这样的提示:
[1] 42264
代码如下复制代码
# Starting mysqld daemon with databases from /usr/local/mysql/var
如果出现 mysql ended这样的语句,表示Mysql没有正常启动,你可以到log中查找问题,Log文件的通常在/etc/my.cnf中配置,
大多数问题是权限设置不正确引起的。 )
7、设置root密码。默认安装密码为空,为了安全你需要修改密码
代码如下复制代码
#/usr/local/mysql/bin/mysqladmin -uroot password yourpassword
8、拷贝编译目录的一个脚本,设置开机自动启动
代码如下复制代码
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/init.d/mysqld
#chkconfig –add mysqld
#chkconfig –level 345 mysqld on
9、启动mysqld服务
代码如下复制代码
#service mysqld start
10、查看3306端口是否打开。要注意在防火墙中开放该端口
代码如下复制代码
#netstat -atln
免安装版/二进制版安装基本命令概述:
代码如下复制代码
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql data
【Linux下mysql数据库的备份putty】推荐阅读:
谈谈数据从sql server数据库导入mysql数据库的体验07-07
公司数据灾难备份及恢复应急预案11-05
大数据环境下的电视媒体发展10-28
旅游管理下数据挖掘运用论文09-27
快速转移数据的方法数据库教程07-10
如何获得当前数据库的SCN值数据库教程07-05
数据库技术的应用07-20
数据库的发展趋势分析09-08
(四)ACCESS数据库的结构10-15
Access数据库打印功能的设置07-13