远程linux服务器mysql数据库定期备份和删除

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

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

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

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

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

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

mkdir /mysql/mysqldata_bakeup

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

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

vi /usr/sbin/bakmysql

此时会在/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

/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

时间: 2025-01-11 12:08:05

远程linux服务器mysql数据库定期备份和删除的相关文章

Linux下mysql数据库定期备份与删除

1.通过shell连接到服务器 ssh -l root -p 端口 ip 输入密码后,进入服务器 2.创建一个数据库备份数据存放的文件夹 mkdir /mysql/mysqldata_backup 3.创建并编辑文件 vi /usr/sbin/bakmysql 文件内容如下: fn = ` date +%Y%m%d`tar zcvf /mysql/mysqldata_backup/mysql$fn.tar.gz /mysql/data 或者 mysqldump -uroot -ppassword

linux下 mysql数据库的备份和还原

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql /root/mysql.sql 2.还原 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入数据

linux下 mysql数据库的备份和还原sql

1.备份 1 [[email protected] ~]# mysqldump -u root -p mysql > ~/mysql.sql #把数据库mysql备份到家目录下命名为mysql.sql 2 Enter password: 3 [[email protected] ~]# ls ~/mysql.sql 4 /root/mysql.sql 2.导入 [[email protected] ~]# mysql -u root -p web < ~/web.sql #把web.sql导入

centos下mysql数据库自动备份并删除N天前备份文件

1.创建bak_xx_mysql.sh文件 #!/bin/bash# Name:bak_xx_mysql.sh# XX数据库文件备份#db_user="root"db_passwd="root"db_name="db_name"#mysqldump 目录mysql_bin_dir="/alidata/server/mysql-5.6.21/bin/mysqldump"# 备份文件目录backup_dir="/alid

Linux下Mysql数据库备份和恢复全攻略

很多用户都有过丢失宝贵数据的经历,随着大量的数据被存入到MySQL数据库中,再加上错误地使用DROP DATABASE命令.系统崩溃或对表结构进行编辑等操作,都可能酿成灾难性的损失.所以对MySQL数据库进行备份,以备在出现意外时及时进行恢复是非常必要的. 一. 使用mysql相关命令进行简单的本地备份     1 mysqlldump命令 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法.

linux下mysql数据库主从同步配置

说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备篇: 说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作 备注: 作为主从服务器的MySQL版本建议使用同一版本! 或者必须保证主服务器的MySQL版本要高于从服务器的MySQL版本! 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接

linux下mysql数据库的学习

转载博客:http://freedomljtt.blog.163.com/blog/static/72294949201210145441701/ ubuntu12.04 卸载和安装mysql 卸载mysql 第一步 1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 sudo apt-get autoremove mysql-server 4 sudo apt-get r

JDBC远程从一个MySql数据库中的一张表里面读出数据(这个数据库需要用SSH隧道连接,大约8W条数据),然后分别插入到另一个数据库中的两张表里

package com.eeepay.lzj.db; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.jcraft.jsch.JSch; import com.jcraft.jsc

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du