Linux下mysql数据库的备份putty

2024-08-15

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

上一篇:员工培训最有效的方式下一篇:请示公文写作