
1 写个自动备份的脚本autobackupsh,内容如下#!/bin/bashmysqldump -p databasename > mydatasql2 更改其为可执行文件 chmod +x autobackupsh3 通过crontab让系统自动运行这个脚本就好了,如crontab -e0 0 /路径到/autobackupsh第一个0表示分钟,第二个0表示0小时也就是零辰第三个表示每天,第四个表示每月,第五个表示每周
方法/步骤
1 在根目录下新建定时备份存储文件夹mkdir /mysql_backup
2新建备份的脚本vim /root/mysql_backupsh
3在mysql_backupsh中输入内容:
backupdir=/mysqlbackup time=` date +%Y%m%d%H`mysqldump -uroot -proot abc | gzip > $backupdir/abc$timesqlgzfind $backupdir -name “abcsqlgz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
——————————————————————————————
说明:
backupdir = 备份文件存储文件夹time = 获取当前时间 年月日时(2014111417)2014年11月14日17点mysqldump 备份数据库指令 abc要备份的数据库find $backupdir -name “abcsqlgz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1 删除5天前的备份文件
3 :wq 文件保存成功后
先按一下键盘上的 " esc " 然后输入 ” :wq “
执行一下脚本,看根目录下的mysql_backup文件夹是否有sqlgz后缀名的文件
/mysql_backupsh
写入每天的定时任务 修改 /etc/crontabvi /etc/crontab
按键盘上的"i",开始输入
02 4 root /root/mysql_backupsh
表示每天4点2分执行备份任务
先按一下键盘上的 " esc " 然后输入 ” :wq “ 表示保存
重新启动crond
service crond restart 或 /etc/rcd/initd/crond restart
把以前写的一个发你看看
脚本要求:编写shell脚本,每天凌晨1点备份td_oa库,到mysql-back目录,并将备份文件压缩,压缩名称为备份的日期,只保留连续七天的备份文件
#!/bin/bash
mysql-uroot-p123456-e"flushtableswithreadlock;"锁住表
/usr/local/mysql/bin/mysqlmp-uroot-p123456td_oa--flush-logs--single-transaction
mysql-uroot-p123456-e"unlocktables;"解锁
a=`/bin/date%Y-%m-%d`#在这里加上时间,压缩的时候加上时间,会失败。
echo$a
cd/gxl
/bin/tar-czf$atar/fjp/td_oasql
b="$atar"
cp-p$b/root/fjp
forcin`find/root/fjp-ctime7`
do
/bin/rm-rf$c
done
Copyright © 1999-2020, CSDNNET, All Rights Reserved
mysql
登录
Linux 关于MYSQL数据库命令(查看,备份等 *** 作) 原创
2016-04-19 11:22:33
fuwen1989
码龄7年
关注
1Linux系统下启动MySQL的命令:
/ect/initd/mysql start (前面为mysql的安装路径)
2linux下重启mysql的命令:
/ect/initd/mysql restart (前面为mysql的安装路径)
3linux下关闭mysql的命令:
/ect/initd/mysql shutdown (前面为mysql的安装路径)
4连接本机上的mysql:
进入目录mysql\bin,再键入命令mysql -u root -p, 回车后提示输入密码。
5打开数据库后的 *** 作命令
查看数据库的命令
mysql> show databases;
打开mydb库
mysql> use mydb;
查看数据表的详细结构
mysql> desc funtb;
新建数据库
mysql> create database school;
新建表
mysql> create table user01(
-> id varchar(20) NOT NULL,
-> userName varchar(10) NOT NULL,
-> age int(11) default'0',
-> sex char(2) NOT NULL default'm',
-> PRIMARY KEY (id)
-> )TYPE=InnoDB;
Query OK, 0 rows affected, 1 warning (002 sec)
mysql>desc student;
插入
mysql> insert into student(id,stuName) values('1','tomcat');
删除
mysql> delete from student where id='1';
删除表中所有数据
mysql> truncate table student;
删除表
mysql> drop table temp;
创建新用户并给予权限
mysql> grant all privileges on to dbuser@localhost identified by '1234'
with grant option;
更改Mysql用户密码
c:\Mysql50\bin>mysqladmin -u root -p password 1234
Enter password:
备份数据库及表(新版数据库不加3306端口号)
c:\mysql\bin\>mysqldump –u root –p mydb >d:\backupsql
执行此语句将把数据库mydb 备份到D盘的backupsql文件中
备份多个数据库表
c:\mysql\bin\>mysqldump –u root –p 3306 school user01 user >d:\backupsql
此句的意思是把school库中的user01表和user表的内容和表的定义备份到D盘backupsql文件中。
备份所有的数据库
c:\myql\bin>mysqldump –u root –p 3306 –all –database>d:backupsql
还原Mysql数据库
c:\mysql\bin\mysql –u root –p 3306 school
还原其中的一个表
mysql> source d:\bookssql;
退出Mysql连接
mysql>quit(exit)
windows关闭mysql服务
C:\mysql\bin>net mysql
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 /data1/backup/expdp_db_baksh;
expdp_db_baksh内容:
#!/bin/sh
~/bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}dmp
logfile=expdp_db_${today}log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile oracle@1721615:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=baklog
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' oracle@1721611:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
1导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p database > databasesql
2导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p database users > wcnc_userssql
一、每日23:00自动删除临时文件
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行:
00
03
rm
-rf
/>
以上就是关于如何备份linux下的mysql数据库全部的内容,包括:如何备份linux下的mysql数据库、如何在linux下实现mysql数据库每天自动备份、linux中mysql如何备份与恢复(mysql备份和恢复数据库命令)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)