当前位置:首页 » 编程软件 » windowsmysql备份脚本

windowsmysql备份脚本

发布时间: 2023-04-02 02:02:59

1. mysql备份问题,mysql版本5.7.2

1.mysqlmp:最早,也是最成熟的逻辑备份工具,是 MySQL 原生的用来备份整个数据库实例、单个数据库、单张表的逻辑备份工具, 上手简单,学习成本几乎为 0。备份简单,恢复也简单。

比如导出单个数据库 ytt: mysqlmp ytt > /tmp/ytt.sql;

恢复也非常简单:mysql < /tmp/ytt.sql

缺点是备份速度慢。在整个备份过程中,是单线程运行;备份出来的数据集要恢复的话同样也是单线程运行,恢复速度也慢。除非对同一时刻的所有表单独备份出来,自己写额外脚本进行多线程恢复。

2.mysqlpump:MySQL 5.7 GA 后推出的 mysqlmp工具的增强版。可以对同一个数据集多个线程并发备份,备份速度很快。

其他缺点和 mysqlmp 一样。

3.MySQL Shell UTIL对象附带的备份工具:随 MySQL 8.0.21 最新版本捆绑发布,自带多线程备份以及多线程恢复功能, 可以直接替代 mysqlmp/mysqlpump。

  • mp_instance/mpInstance 用来多线程备份 MySQL 整个单机实例
  • mp_schemas/mpSchemas 用来多线程备份 MySQL 单个数据库
  • load_mp/loadDump 用来多线程恢复之前两个工具导出的数据集文件

2. Mysql备份恢复方案有哪些,全备,热备该怎么做

方案一:mysqlmp全备份+日志增量备份
1, mysqlmp备份方案:
周一凌晨3点 全备
周二到周日凌晨3点增量备份

2, 备镇键份步骤
(1) 创建备份目录,备份脚本存放目录
Shell > mkdir /usr/mysqlbackup;
Shell > chmod 755 /usr/mysqlbackup;
Shell > mkdir /usr/mysqlbackup/daily;
Shell > chmod 755 /usr/mysqlbackup/daily;
Shell > mkdir /usr/script;
Shell > chmod 777 /usr/script/*.sh

(2) 启用二进制日志
如果日志没有启开,必须启用binlog,要重启mysqld,首姿缺先,关闭mysqld,打开/etc/my.cnf,加入以下几行:
[mysqld]
log-bin
然后重新启动mysqld,会产生hostname-bin.000001以及hostname-bin.index,前面的日志文件是记录所有对数据的更新操作,后面的文件是存储所有二进制文件的索引,不能轻易被删除。

(3) 全备份,增量备份。
详细见mysqlFullBackup.sh、mysqlDailyBackup.sh脚本(请注意脚本里面的备份目录、mysql软件安装目录、压缩文件名以及用户名密码,如有不符,请修改)。
下面是部分shell上单个手动执行的测试命令。
Shell> /usr/local/mysql/bin/mysqlmp -uroot - --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileg
es=FALSE --compress=FALSE --replace=FALSE --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=TRUE --complete-insert=FALSE --add-locks=TRUE --port=3306 --d
isable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE -
-mp-date=TRUE --lock-tables=TRUE --allow-keywords=FALSE --events=FALSE --single-transaction=TRUE --routines --all-databases > /backup/mysql/full/mysql_20110104_195546.sql

(4) 设置crontab任务,每天执行迹旅辩备份脚本
shell> crontab –e
#每个星期日凌晨3:00执行完全备份脚本

#周一到周六凌晨3:00做增量备份
0 3 * * 1-6 /root/MySQLBackup/mysqlDailyBackup.sh >/dev/null 2>&1
(5) 清除旧的备份文件。
每天去看查看下备份磁盘空间,删除旧的备份压缩文件。

3. mysql的本地备份和双机相互备份脚本

先修改脚本进行必要的配置 然后以root用户执行 第一执行远程备份时先用 first参数 本地备份用local参数 远程备份不用参数 注意1> 注意:需要在另一主机上的Mysql用户用添加用户 需要配置的地方: # define host and mysql passwordREMOTE_HOST= #远程主机名或IPREMOTE_PASSWORD= #远程主机的mysql中的root@本地主机 密码 # define database pathDB_PATH= /var/lib/mysql #本地mysql数枣知老据库路径猛姿LOCAL_PASSWORD= #本地mysql root用户密码DB_BACKUP_PATH= /root/db_bk #本地备份时数据保存的路凳升径NO_BACKUP_DB= 设置本地数据库中不想备份的数据库名 用空格隔开 直接下载 #!/bin/sh# mysqlmp_all sh# this scripts is used to backup MySQL database beten tow MySQL SERVER!# define host and mysql passwordREMOTE_HOST= REMOTE_PASSWORD= # define database pathDB_PATH= /var/lib/mysql LOCAL_PASSWORD= DB_BACKUP_PATH= /root/db_bk # define which database no back up write db anme escap whit space!# example;# NO_BACKUP_DB= yns test ps_note # this said that if db name is yns or test or ps_note then not backup them!NO_BACKUP_DB= # get the database name and process one by oneecho Start to Backup ;#ls /var/lib/mysql > /tmp/mydb allif [ $ != help ]; thenfor db in `ls $DB_PATH`; doif_backup= if [ d $DB_PATH/$db ] ; thenfor noBackDB in $NO_BACKUP_DB ; doif ( test $db = $noBackDB ); then#echo n ;if_backup= ;fidoneif [ $if_backup ]; thencase $ infirst)echo n Crate db [ $db ] on $REMOTE_HOST first! result=`mysqladmin h $REMOTE_HOST password=$REMOTE_PASSWORD create $db`if [ ! $result ]; thenecho Done! ;elseecho Fialed! check your configure plz! ;echo Remote host said: $result ;exitfi;;local)# back up to localhost dir if [ ! d $DB_BACKUP_PATH ]; thenmkdir $DB_BACKUP_PATHfiecho n [ $db ] Backup to local$DB_BACKUP_PATH with gzip ;if [ e $DB_BACKUP_PATH/$db gz ]; thenmv $DB_BACKUP_PATH/$db gz $DB_BACKUP_PATH/$db gz;fimysqlmp password=Walte#Ming $db | gzip > $DB_BACKUP_PATH/$db gzecho [OK] ;;*)# Do mon Backup!echo n [ $db ] Do Backup! ====>> $REMOTE_HOST/$db ;mysqlmp add drop table $db password=$LOCAL_PASSWORD | mysql h $REMOTE_HOST password=$REMOTE_PASSWORD $dbecho [OK] ;esacelseecho [ $db ] ;echo ***This database set to Not backup! Operation CANCELED! ;fielseecho [ $db ] ;echo ***Warning! Not a DataBbase Backup Canceled*** ;fidoneelseecho Usage: mysqlpm_all sh [firs|local|help] ;echo Some question ask for mailto: ; > ;fi# Ended all backup opretion!echo ;echo Note: if there is e wrong message white MySQL you should check yourconfigure first! ;exit lishixin/Article/program/MySQL/201311/29339

4. 如何使用MySQLAdministrator备份和还原数据库

MySQL Administrator备份与还原数据库,随着PHP技术的逐步发展,MySQL数据库的使用率也成上升趋势。可MySQL数据库的实际操作一般都是基于命令行的,而没有像微软MSSQL数据库的企业管理器这样的GUI可视图形化工具操作来的容易方便。
一般的情况下,我们可以使用 PHPMYADMIN 这样的PHP脚本工具来操作 MySQL 数据库,可 PHPMYADMIN 也不是GUI工具。
为了更方便地操作 MySQL 数据库,飘易今天就给大家介绍一款管理 MySQL 的可视化图形工具 :MySQL Administrator 。这是一款和管理MSSQL的企业管理器一样方便的本地操作 MySQL 的有效工具。
很重要的是,MySQL Administrator不会出现像使用 SQLyog (同样是管理MySQL的GUI工具)时经常会遇到的 中文乱码 问题,要知道中文网站数据库使用不当的话都会出现中文乱码的问题。
所以,我们使用 MySQL Administrator工具,就有效地避免出现中文乱码的问题了。飘易手里头使用的是 MySQL Administrator 5.0 r16 这个版本。原始的官方网址选择Windows (x86) 下载,目前最新版本是 5.0-r17 ,大约17MB。
利用这个软件备份MySQL数据库,还原MySQL数据库,管理MySQL将变得十分简单易行,就像使用 MSSQL的企业管理器一样方便。
一,登陆,填写数据库IP,用户名和密码

二,登陆成功后,显示以下信息:

三,查看已经存在的数据库
选择“Catalogs”将列出数据库。点左下脚数据库列表中你开通的“数据库名”,右边将显示出数据库中已经存在的数据库表,如果是新数据库,右边是空的。

四,备份数据库到本地计算机硬盘
备份数据库到本地计算机硬盘,选择“Backup”备份数据库功能,然后点击“New Project” 建立新的备份项目。选择要备份的数据库,然后点 > 号,右边将显示出数据库表结构。

备份选项:
点“Advanced Options” 高级选项 ,选择“Normal backup” 备份的时候选择正常备份 ,选择“Complete backup” 选择完整备份 ,也可以选择 “InnoDB Online Backup”,这是一种在线简单的备份方式;Backup Type 备份方式选择 SQL Files ,点“Execute Backup Now”立刻开始备份数据库。

五,选择“Restore”还原数据库功能
点“Open Backup File”,找到以前备份的数据库脚本文件,选择并打开文件,点“Start Restore” 后开始还原,还原成功。

这里在还原的时候需要注意的有两点:1,“Target Schema”丛卜默认数据库项这里,如果答戚你没有MySQL服务器root权限,比如你是虚拟主机分配的一个子账户,此时你必须选择“another schema”里的数据库名,而不能选择“original schema”选项,否则还原失败出错; 2,“FILE CHARSET”选项默认 utf8,请不要更改,否则也会出现中文乱码问题。
MySQL Administrator 不仅可以备份、还原MySQL数据库,同样也可以对MySQL进行方便地维护和管理,比如修改增加字段等。另外,这里还有一清郑陵篇 如何使用 MySQL Administrator 管理/备份/还原 My SQL 数据库 的文章,大家也可以看看。

5. 请问mysql怎么自动备份数据库

数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。

工具/原料



navicat for mysql

mysql 5.5

方法/步骤

  1. 打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。


6. 好用的mysql备份工具

我以前备份都使用mysqlmp 导成文本文件便于存放 但是速度很慢的 最快的备份方法当然是直接把数据目录一份了 但是一般来说 都要关闭 MySQL的服务才能做 不然在你的时候刚好还有人读写表那麻烦就大了 这次朋友介绍我使用mysqlhot 就相当于上面 不过他可以热备份 他备份非常快 我测试一个 G的mysql他备份的时间在 分钟内完成

下面是它的介绍

mysqlhot是一个Perl脚本搭粗孝 最知稿初由Tim Bunce编写并提供 它使用LOCK TABLES FLUSH TABLES和cp或scp来快速备份数据库 它是备份数据库或单个表的最快的途径 但它只能运行在数据库目录所在的机器上 mysqlhot只用于备份MyISAM 它运行在Unix和NetWare中

使用方法见下面的脚本 加入crotab中吧

#!/bin/sh # Name:mysqlbackup sh # PS:MySQL DataBase Backup Use mysqlhot script # Last Modify: # 定义变量 请根据具体情况修改 # 定义脚本所在目录 scriptsDir=`pwd`

# 数据库的数据目录 dataDir=/var/lib/mysql

# 数据备份目录 tmpBackupDir=/tmp/mysqlblackup backupDir=/backup/mysql

# 用来备份数据库的用户名和密码 mysqlUser=root mysqlPWD= you password

# 如果临时备份目录存在 清空它 如果不存在则创建它 if [[ e $tmpBackupDir ]]; then rm rf $tmpBackupDir/* else mkdir $tmpBackupDir fi

# 如果备份目录不存在则创建它 if [[ ! e $backupDir ]];then mkdir $backupDir fi

# 得到数据库备份列表 在此可以过滤不想备份的数据库 for databases in `find $dataDir type d | 凳敬 sed e s//var/lib/mysql/// | sed e s/test// `; do if [[ $databases == ]]; then continue else

# 备份数据库 /usr/bin/mysqlhot user=$mysqlUser password=$mysqlPWD q $databases $tmpBackupDir dateTime=`date +%Y %m %d %H:%M:%S ` echo $dateTime Database:$databases backup success! >>MySQLBackup log fi done

# 压缩备份文件 date=`date I` cd $tmpBackupDir tar czf $backupDir/mysql $date tar gz /

#End完成

加入到crontab中设置每周 运行 * * /backup/blackup sh

注意:恢复数据库到备份时的状态

mysqlhot 备份出来的是整个数据库目录 使用时可以直接拷贝到 mysqld 指定的 datadir (在这里是 /var/lib/mysql/)目录下即可 同时要注意权限的问题 如下例

shell> cp rf db_name /var/lib/mysql/

shell> chown R mysql:mysql /var/lib/mysql/ (将 db_name 目录的属主改成 mysqld 运行用户)

本套备份策略只能恢复数据库到最后一次备份时的状态 要想在崩溃时丢失的数据尽量少应该更频繁的进行备份 要想恢复数据到崩溃时的状态请使用主从复制机制(replication)

小技巧:

不想写密码在shell中的话 可以在root的home目录下建立一个f文件 以便让mysqlhot从中读取用户名/密码 [mysqlhot] user=root password=YourPassword 然后安全起见 chmod一下 chmod ~/f

附:mysqlhot常用参数

· allowold如果目标存在不放弃(加上一个_old后缀重新命名它) · checkpoint=db_name tbl_name在指定的db_name tbl_name插入检查点条目 · debug启用调试输出 · dryrun n报告动作而不执行它们 · flushlog所有表锁定后刷新日志 · keepold完成后不删除以前(重新命名的)的目标 · method=mand复制方法(cp或scp) · noindices备份中不包括全部索引文件 这样使备份更小 更快 可以在以后用myisamc rq重新构建索引 · password=password p password当连接服务器时使用的密码 请注意该选项的密码值是不可选的 不象其它MySQL程序 · port=port_num P port_num当连接本地服务器时使用的TCP/IP端口号 · quiet q除了出现错误时保持沉默 · regexp=expr复制所有数据库名匹配给出的正则表达式的数据库 · socket=path S path用于连接的Unix套接字文件 · suffix=str所复制的数据库名的后缀 · tmpdir=path临时目录(代替/tmp) · user=user_name u user_name当连接服务器时使用的MySQL用户名

lishixin/Article/program/MySQL/201311/29401

7. 怎么定时自动备份mysql数据表

一、对于Windows主机
==============
假想环境:
MySQL
安装位置:C:\MySQL
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqlmp
–opt
-u
root
–password=123456
bbs
>
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
将以上代码保存为backup_db.bat
然后使用Windows的“计划任务”定时执行该脚本即可。(例如:每天凌晨5点执行back_db.bat)
二、对于Linux主机
===========
假想环境:
MySQL
安装位置:/usr/local/mysq
论坛数据库名称为:bbs
MySQL
root
密码:123456
数据库备份目的地:/蔽盯var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqlmp
–opt
-u
root
–password=123456
bbs
>
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
&
将上述代码保存在/usr/local/sbin/backup_db.sh
对该宏尘和脚本赋予执行权限:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自动执行:
#
crontab
-e
加入:
0
5
*
*
*
/usr/local/sbin/兄隐backup_db.sh

8. windows环境下mysql设置自动备份

把WinRAR安装到计算机上。
将下面的命令写入到一个文本文件里
*******************************Code Start*****************************
net stop mysql
c:\progra~1\winrar\winrar a -ag -k -r -s d:\mysql.rar d:\mysql\data
net start mysql
*******************************Code End*****************************
保存,然后将文本文件的扩展名修改成CMD。进入控制面版,打开计划任务,双击“添加计划任务”。在计划任务向导中找到刚才的CMD文件,接着为这个任务指定一个运行时间和运行时使用的账号密码就可以了。

9. windows下怎么备份mysql数据库的数据

如何备份?要通过数据库工具,从数据库工具选择备份操作,实现数据库备份

10. 怎么备份和还原mysql数据库

备份数据库

使用mysqlmp命令备份数据库

热点内容
掌握ftp服务器的配置与管理 发布:2024-05-03 08:06:58 浏览:765
服务器搭建的函数 发布:2024-05-03 07:54:44 浏览:815
php包含数组 发布:2024-05-03 07:53:51 浏览:702
短暂记忆存储信息是有限的 发布:2024-05-03 07:48:14 浏览:537
java集合对象 发布:2024-05-03 07:32:13 浏览:916
苹果自带脚本 发布:2024-05-03 07:16:04 浏览:569
商城导航源码 发布:2024-05-03 07:14:15 浏览:552
shell脚本日志输出 发布:2024-05-03 06:31:04 浏览:713
服务器快捷方式是什么意思 发布:2024-05-03 06:28:18 浏览:108
我的世界怎么成为服务器最靓的仔 发布:2024-05-03 06:26:44 浏览:853