1.Linux服务器一般是ssh协议,/var/lib/mysql是你数据库文件的目录

  • 栏目:软件 时间:2020-04-09 04:20
<返回列表

网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。

Linux下自动备份MySQL的方法,linux备份mysql

Linux下可以利用crontab系统每天定时备份MySQL数据库,以下是详细步骤:

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 -p980405 > /mysqldata/mysql$rq.tar.gz

/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可以看到这样的文件

mysql20100101.tar.gz

Linux下可以利用crontab系统每天定时备份MySQL数据库,以下是详细步骤: 1、创建保存备份文件的路径...

1、创建保存mysql备份文件的路径 /mysqldata
#mkdir /mysqldata

1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令:

2、创建/usr/sbin/bakmysql 文件
#nano /usr/sbin/bakmysql

ssh  -l  root  -p  8080  202.***.***.***

输入:

其中root为用户名,一般为root,8080为端口,202.***.***.***为服务器ip地址;

复制代码 代码如下:

接下来会提示你输入密码,输入正确后即可进入服务器;

#!/bin/sh
name='date+%Y%m%d'
mysqldump --all-databases -uroot -p密码 > /var/mysqlbak/mysql.sql

2.然后需要创建一个数据库备份数据存放的文件夹;

注:--all-databases 为备份全部数据库到mysqlbak下的mysql.sql文件中,如果把--all-databases替换为test,则只备份test数据库。

mkdir /mysql/mysqldata_bakeup

3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql

/mysql/mysqldata_bakeup为创建的路径,可以自定义;

4、修改/etc/crontab
#nano /etc/crontab

3.创建并编辑文件在路径 /usr/sbin/bakmysql,命令:

在下面添加:
01 3 * * * root /usr/sbin/bakmysql
表示每天3点钟定时执行备份。

vi /usr/sbin/bakmysql

5、重启 crond
# /etc/init.d/cron restar

此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;

完成。

fn = ` date +%Y%m%d `
    tar  zcvf  /mysql/mysqldata_bakeup/mysql$fn.tar.gz  /mysql/data
或
    mysqldump -u root -ppassword /mysql/data/yourdatabase > /mysql/mysqldata_bakeup/mysql$fn.sql

  find $fn -name "mysql*.tar.gz" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1
或
  find $fn -name "mysql*.sql" -type f -mtime +7 -exec fm{}; > /dev/null 2>&1

/mysqldata #mkdir /mysqldata 2、创建/usr/sbin/bakmysql 文件 #nano /usr/sbin/bakmysql 输入: 复制代码 代码如下: #!/bin/sh n...

/mysql/mysqldata_bakeup/为备份数据保存路径,msql$fn.tar.gz为备份数据根据日期编号的名称,/mysql/data为服务器数据库的数据路径,yourdatabase为你要备份的数据库名;

注意其中第一句命令不是单引号,而是tab键上面的符号,且date前后需要有空格;

第二句命令有两种方法,第一种直接备份并压缩数据库数据源文件,第二种是利用mysql自带命令mysqldump导出数据库yourdatabase的sql文件;

韦德体育 ,第三句是删除7天前的备份文件,文件名写法对应第二句。

4.修改文件bakmysql属性,使其可执行;

chmod +x /usr/sbin/bakmysql

5.修改/etc/crontab:

vi /etc/crontab

进入编辑状态,在最下面添加:

01 3 * * * root /usr/sbin/bakmysql

01 3 是每天凌晨3:01执行 bakmysql文件;

6.关于重启有时候并不需要,如果服务器在/etc/rc.d/init.d/路径下有crond服务,可以选择重启crond,命令:

/etc/rc.d/init.d/crond restart

7.最后退出服务器命令:exit

上一篇:且单用户模式就是系统处于最原始的状态,且单用户模式就是系统处于最原始的状态 下一篇:英特尔一直是 Linux 基金会的白金级会员,剩下的15台计算机里有13台运行Unix系统

更多阅读

如今对基于互联网的应用和服务的要求越

软件 2020-04-09
如今对基于互联网的应用和服务的要求越来越大,这给广大的IT管理员施加了越来越大的压力。...
查看全文

英特尔一直是 Linux 基金会的白金级会员,

软件 2020-04-09
近期,Linux 宣布无人机开源软件平台项目Dronecode。而在这个项目中,非常卖力的一员就是英特...
查看全文

1.Linux服务器一般是ssh协议,/var/lib/mysql是

软件 2020-04-09
网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢...
查看全文

友情链接: 网站地图

Copyright © 2015-2019 http://www.koi-bumi.com. 韦德体育有限公司 版权所有