MySQL数据库维护


示例


数据库服务器IP


192.168.2.170


用户名


root


密码


123456


数据库名称


submetering


备份份数


7(只保留最近7次的备份数据。若定时任务每天执行一次,则保留最近7天的历史数据)


备份频率及时间


每天晚上10点


备份路径


C:\Submetering\backup

一.数据库备份

1.备份脚本

以文本文件方式新建备份脚本BackupMySQL.bat,以下为BackupMySQL.bat的内容:

 1 echo off
 2
 3 if exist mark_a.txt (
 4
 5   echo 2nd day backup
 6   del mark_a.txt
 7   dir > mark_b.txt
 8   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering2.sql
 9   rem rar a -df backup_2.rar backup_2.dmp backup_2.log
10
11 ) else if exist mark_b.txt (
12
13   echo 3rd day backup
14   del mark_b.txt
15   dir > mark_c.txt
16   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering3.sql
17   rem rar a -df backup_3.rar backup_3.dmp backup_3.log
18
19 ) else if exist mark_c.txt (
20
21   echo 4th day backup
22   del mark_c.txt
23   dir > mark_d.txt
24   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering4.sql
25   rem rar a -df backup_4.rar backup_4.dmp backup_4.log
26
27 ) else if exist mark_d.txt (
28
29   echo 5th day backup
30   del mark_d.txt
31   dir > mark_e.txt
32   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering5.sql
33   rem rar a -df backup_5.rar backup_5.dmp backup_5.log
34
35 ) else if exist mark_e.txt (
36
37   echo 6th day backup
38   del mark_e.txt
39   dir > mark_f.txt
40   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering6.sql
41   rem rar a -df backup_6.rar backup_6.dmp backup_6.log
42
43 ) else if exist mark_f.txt (
44
45   echo 7th day backup
46   del mark_f.txt
47   dir > mark_g.txt
48   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering7.sql
49   rem rar a -df backup_7.rar backup_7.dmp backup_7.log
50
51 ) else (
52
53   echo 1st day backup
54   if exist mark_g.txt del mark_g.txt
55   dir > mark_a.txt
56   mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > submetering1.sql
57   rem rar a -df backup_1.rar backup_1.dmp backup_1.log
58
59 )

BackupMySQL.bat的内容结束

2.配置定时任务

步骤一:进入操作系统定时任务配置界面

步骤二:创建一个定时任务

步骤三:输入定时任务名称

步骤四:点击“Tiggers”标签页,选择新建按钮,在弹出框中配置任务触发参数,每天晚上10点执行

步骤五:点击“Actions”标签页,选择新建按钮,在弹出框中配置备份脚本路径和备份目录

步骤六:在定时任务配置的时间之后检查备份目录是否产生数据库备份文件

二.数据库还原

1.配置环境变量

步骤一:Computer右键 Properties,打开电脑属性窗口

步骤二:打开高级系统配置窗口

步骤三:打开环境变量窗口,在“Path”变量值中添加mysql的bin目录路径

步骤四:保存

2.还原

步骤一:备份数据库

打开Windows命令窗口(-p之后没有空格)

1 mysqldump -h 192.168.2.170 -u root -p123456 -R -E submetering > C:\Submetering\backup \submeteringBackUp.sql

步骤二:还原数据库

打开备份目录,检查备份目录是否产生数据库备份文件。

若没有扩展名为“sql”的文件,或文件为0KB,则备份不成功,请重新检查备份脚本及定时任务配置,无需继续进行数据库还原操作。

若备份成功,则按修改时间排序,取最近一次备份的文件进行还原。例如最近一次备份的文件路径为“C:\Submetering\backup \submetering2.sql”。

1)打开Windows命令窗口,连接MySQL数据库(-p之后没有空格)

1 mysql -h 192.168.2.170 -u root -p123456

2)删除数据库(删除后不可逆,请再次确认备份文件成功后继续操作)

1 drop database submetering;

3)创建数据库

1 create database submetering character set utf8;

4)导入备份数据

选中要还原的数据库

1 use submetering;

设置字符集

1 set names utf8;

还原或导入数据库

1 source C:\Submetering\backup \submetering2.sql
时间: 2024-10-18 14:34:11

MySQL数据库维护的相关文章

mysql数据库维护和性能提高

为了有效防止数据丢失,并将损失降到最低,应对数据库服务器做维护.数据库维护,包括数据备份,还原,导出和导入操作. 1. MySQL数据库备份 所谓数据库维护,主要包含备份数据,还原数据和数据库迁移,对于MySQL来说,还包括数据库对象表的导出和导入. 1.1 通过复制数据文件实现数据备份 造成数据损失的原因很多,主要包含如下几个方面: a. 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失. b. 用户的错误操作:如误删了某些重要数据,甚至整个数据库. c. 服务器

mysql数据库维护(备份和还原)和性能提高

为了有效防止数据丢失,并将损失降到最低,应对数据库服务器做维护.数据库维护,包括数据备份,还原,导出和导入操作. 1. MySQL数据库备份 所谓数据库维护,主要包含备份数据,还原数据和数据库迁移,对于MySQL来说,还包括数据库对象表的导出和导入. 1.1 通过复制数据文件实现数据备份 造成数据损失的原因很多,主要包含如下几个方面: a. 存储介质故障:保存数据库文件的磁盘设备损坏,用户没有数据库备份导致数据彻底丢失. b. 用户的错误操作:如误删了某些重要数据,甚至整个数据库. c. 服务器

MySQL数据库维护中监控所用到的常用命令(转载)

status = show status like ‘%%' [例:show status like 'Com_select']variables = show variables like ‘%%' [例:show variables like 'query_cache_size'] 1.MySQL查询次数(取自show status返回信息)Com_select;Com_update;Com_insert;Com_delete;Com_change_db 2.查询缓存空间大小:query_c

14款经典的MySQL客户端软件

1. EMS MySQL Manager 强大的mysql管理工具,允许用户通过图形界面创建或编辑数据库对象,并提供通过sql语句管理用户和权限,通过图形界面建立sql语句,自动生成html格式的数据库文档,导入/导出数据,查看/编辑blob字段等功能. 官方网站:http://sqlmanager.net/products/mysql/manager 中文下载地址:http://download.pchome.net/development/database/download-10462.ht

数据库MySQL多个数据库服务冲突

一.目标名称 MySQL 二.目标版本 mysql-5.6.24-win32.1432006610.zip 三.环境信息 系统:windows 7 旗舰版 防火墙:关闭  —— 注意:如果防火墙不关闭或不允许列外的话,远程登陆将会失败. 四.问题严重性和复杂度 严重性:非常严重,直接导致数据库无法使用,与之相关的所有应用均受到影响. 复杂度:非常复杂,涉及到数据库的安装问题,由其他安装应用程序引入,问题比较隐晦不容易发现. 五.问题描述 (1) - 首先是依赖于该数据库的程序打开时,弹出错误对话

python--同一mysql数据库下批量迁移数据

最近接手些mysql数据库维护,发现mysql在批量操作方面就是个渣渣啊,比起MS SQL SERVER简直就是“不可同日而语”. 咨询了下MySQL的高手,对于数据迁移这种问题,一种处理方式就是直接“一步到位” ,一次性将所有数据查询插入到另外一个表,然后再删除原表数据:另外一种处理方式就是使用pt--archiver工具来归档. 然并卵,“一步到位”法太刺激,pt--archiver工具用不顺手,由于目前大部分的表都以自增id为主键,以此为此为前提自己写个小脚本,厚脸拿出来供各位参考: #

mysql一直使用swap,导致swap空间用尽变卡

大致操作步骤: 1.调整内核参数,/proc/sys/vm/swapiness 2.调整mysql参数,innodb_flush_method 3.加mysql配置参数memlock,将mysql锁定在内存重防止被swapping out 4.手动释放swap空间,swapoff /xx/xx  和swapon /xx/xx ==================================================== 避免将分配给MySQL的地址空间映射到swap上.对于频繁进行读写

运维的迷惑

我算不算个运维,自己都说不上!但是运维的工作也做着!可是感觉自己就是个打杂的! 系统维护做着,oracle维护做着,偶尔做着mysql数据库维护,但是主要还是围着公司的一套进销存系统转!很迷茫,参加工作5年了,这个岗位上该了解的,不该了解的都了解.看不到自己的职业规划方向,仿佛今年这样,明年这样,后年还这样.很迷茫,有人建议我换换工作环境,但是已然做到小组长位置,就这么放弃有点不舍,但是前途却看不到,生活的压力却阻止着自己的任性.很苦恼!希望看到的人能一起讨论,分析,评论下.不管是对是错,起码是

数据库ID自增

hibernate利用mysql的自增长id属性实现自增长id和手动赋值id并存 我们知道在MySQL中如果设置了表id为自增长属性的话,insert语句中如果对id赋值(值没有被用到过)了,则插入的数据的id会为用户设置的值,并且该表的id的最大值会重新计算,以插入后表的id最大值为自增值起点 但是如果使用hibernate,也想实现这个mysql的特性的话,怎么做呢? 首先我们看下hibernate的id生成策略: hibernate文档写道 1.自动增长identity 适用于MySQL.