linux 下备份mysql数据库

今天老板让备份数据库没办法自己折腾吧,下面把折腾的结果总结总结。

数据库备份思路:

  1.编写脚本

  2.执行脚本  哈哈,是不是很简单,打开冰箱,放入大象,关上。下面我是具体操作。

一、编写脚本

  1.设置备份的目录

  mkdir /usr/local/mysqlbackup
    cd /usr/local/mysqlbackup

  2.编写备份脚本代码:

vi dbbackup.sh

 备份用的是mysqldump备份,好处解压之后就是sql脚本可以直接导入。

复制下面的代码将用户和密码 数据库 改成自己的  

#!/bin/sh
mysqldump -uroot -p123456 dbname  | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
cd  /usr/local/mysqlbackup
rm -rf `find . -name ‘*.sql.gz‘ -mtime 10`  #删除10天前的备份文件

  3.更改备份脚本权限

chmod +x dbbackup.sh

 二、用crontab定时执行备份脚本代码:

crontab -e

  若每天晚上1点00备份,添加如下代码, 一般把备份时间和其他执行的业务分开,以免mysql崩溃。

00 1 * * * /usr/local/mysqlbackup/dbbackup.sh

  

   crontab 命令
* * * * *     /usr/local/mysqlbackup/dbbackup.sh  	每分钟执行一次
3,15 * * * * /usr/local/mysqlbackup/dbbackup.sh 	每天的3点和15点执行一次
3,15 * * * * /usr/local/mysqlbackup/dbbackup.sh 	每天的3点和15点执行一次
3,15 8-11 * * * /usr/local/mysqlbackup/dbbackup.sh  在上午8点到11点的第3和第15分钟执行
* */1 * * *     /usr/local/mysqlbackup/dbbackup.sh  每一小时重启smb
0 23 * * 6      /usr/local/mysqlbackup/dbbackup.sh 每星期六的晚上23 : 00
* 23-7/1 * * * /usr/local/mysqlbackup/dbbackup.sh  晚上11点到早上7点之间,每隔一小时重启smb
0 4 1 jan *    /usr/local/mysqlbackup/dbbackup.sh  一月一号的4点重启smb

  

  重启service crond restart
  可以通过命令crontab -l 查看crontab的配置情况。
  crontab -r 删除当前用户定时任务

时间: 2024-11-14 12:04:39

linux 下备份mysql数据库的相关文章

linux 下备份MySQL数据库 并删除7天前的备份数据

#!/bin/bash #备份数据库hz jshuabo sdhuabo name=$(date +%Y%m%d) /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 hz > /root/sqlBackup/hz.$name.sql /alidata/server/mysql-5.1.73/bin/mysqldump -u root -p123456 jshuabo > /root/sqlBackup/jshuabo.$na

linux下更改MySQL数据库存储路径

原文:http://www.cnit618.com/html/fwdkf/data/2111.htm linux下,MySQL默认的数据文档存储目录为/var/lib/mysql.假如要把MySQL目录移到/home/data下需要进行下面几步: 1.home目录下建立data目录 cd /home mkdir data 2.把MySQL服务进程停掉: mysqladmin -u root -p shutdown 3.把/var/lib/mysql整个目录移到/home/data mv /var

Linux下开启mysql数据库的远程访问权限

摘要:今天在Linux服务器上安装了msyql数据库,在本地访问的时候可以访问,但是我想通过远程的方式访问的时候就不能访问了,查询资料后发现,Linux下MySQL默认安装完成后只有本地访问的权限,没有远程访问的权限,需要你给指定用户设置访问权限才能远程访问该数据库,下面把我的做法记录一下: 一:登录安装后的mysql数据库,如下图: 二:输入给root用户设置权限的命令行并回车,如下图: 这里的root代表root用户,最后的root代表root用户的密码,我这里用户名,密码都是root,中间

linux下对应mysql数据库的常用操作

ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后回车 输入对应数据库的密码,连接进入mysql数据库. 二.备份mysql数据库 mysqldump -u 数据库用户名-p 备份的数据库名 > tm_050519.sql 默认备份到当前用户所在的目录.或者通过find -name tm_050519.sql全局查找. 三.Mysql中常用操作.

linux 定时备份mysql数据库

首先要先搞清楚两个概念: ①.mysqldump,mysqldump是mysql的逻辑备份工具,它不是linux的命令,工作原理类似产生一些列sql语句,对数据库进行指定的逻辑备份. 最简洁的形式是:mysqldump  -uuserName -ppassWord --databasesName 当然,可以通过配置参数实现更多功能(请原理我厚颜无耻复制来的配置列表,见附录1).,多唠叨一句,进行数据库操作时请注意是否有相应的数据库权限. ②crontab 这是个linux系统命令,是用来定期执行

windowns 下备份mysql数据库

@echo off & setlocal ENABLEEXTENSIONS :: ---------- 配置项 ---------- :: 备份放置的路径,加 \ set BACKUP_PATH=E:\Backup :: 要备份的数据库名称,多个用空格分隔 set DATABASES=test :: MySQL 用户名 set USERNAME=root :: MySQL 密码 set PASSWORD=centos :: MySQL Bin 目录,加 \ :: 如果可以直接使用 mysqldu

ssh远程连接linux下的MySQL数据库字符集和防止乱码

实验环境: 本地windows 8.1 远程连接工具 SecureCRT 7.3 Linux发行版本 CentOS 6.7 x86_64位Linux系统,内核的版本为2.6.32-573 mysql版本 mysql-5.5.32 1.1 MySQL数据库字符集介绍 字符集就是一套文字符号及编码.比较规则的集合 MySQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念.其中,字符集是用来定义MySQL数据字符串的存储方式,而校对规则是定义比较字符串的方式. 1

Linux 命令之 Navicat 连接 Linux 下的Mysql数据库

2016年12月7日18:44:06 -====------------------------ GRANT ALL PRIVILEGES ON *.* TO 'itoffice'@'%' IDENTIFIED BY 'itoffice' WITH GRANT OPTION;(第一个itoffice表示用户名,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接,第二个itoffice表示密码).这段指令容许所有用root用户输入密码登陆该mysql server,如果将'%' 换乘'19

linux下修改mysql数据库编码后无法启动解决办法

linux下老版本的Mysql修改数据库编码的方法是 修改my.cnf vi /etc/my.cnf 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 default-character-set=utf8 在新的版本中如果这样修改的话,会造成无法启动的错误,结果方法是 在[mysqld]下把default-character-set=utf8换成 重启mysql可以使用 sudo /etc/init.d/mysql restart 注意修改