备份/恢复策略: 1. 要定期做 mysql备份,并考虑系统可以承受的恢复时间。 2. 确保 mysql 打开log-bin,有了 binarylog,mysql才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复。 3. 要经常做备份恢复测试,确保备份是有效的,并且是可以
备份/恢复策略:1. 要定期做 mysql备份,并考虑系统可以承受的恢复时间。
2. 确保 mysql 打开log-bin,有了 binarylog,mysql才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复。
3. 要经常做备份恢复测试,确保备份是有效的,并且是可以恢复的。
冷备份
备份:
1. 停掉 mysql服务,在操作系统级别备份 mysql的数据文件。
2. 重启 mysql服务,备份重启以后生成的 binlog。
恢复:
1. 停掉 mysql服务,在操作系统级别恢复 mysql的数据文件。
2. 重启 mysql服务,使用 mysqlbinlog恢复自备份以来的 binlog。
逻辑备份
备份:
1. 选择在系统空闲时,比如在夜间,使用 mysqldump –F(flush-logs)备份数据
库。
mysqldump –u root –p*** pointcard –F > pointcard.sql
2. 并备份 mysqldump开始以后生成的 binlog。
恢复:
1. 停掉应用,执行 mysql 导入备份文件.
mysql –u root –p*** pointcard <p>2. 使用 mysqlbinlog 恢复自mysqldump 备份以来的binlog。<br> </p> <p> </p><p></p><pre class="brush:php;toolbar:false">mysqlbinlog $HOME/data/mysql-bin.123456 | mysql -u root –p***
单个表的备份:
备份:
1. 方法 1:
mysql > select * into outfile ‘/tmp/order_tab’ fields-terminated-by=’,’ from order_tab;
2. 方法 2:
mysqldump –u root –p*** –T /tmp pointcard order_tab --fields-terminated-by=’,’;恢复:
1. 方法 1:
mysql > load data [local] infile ‘/tmp/order_tab’ into table order_tab fields-terminated-by=’,’;
2. 方法 2:
mysqlimport –u root –p*** [--local] pointcatd order_tab.txt --fields-terminated-by=’,’;
注意:如果导入和导出是跨平台操作的(windows和 linux),那么要注意设置参数line- terminated-by, windows上设置为 line-terminated-by=’\r\n’,linux上设置为 line-terminated-by=’\n’.
使用备份工具ibbackup
ibbackup是 innodb公司(www.innodb.com)的一个热备份工具,专门对 innodb存储引擎进行物理热备份,此工具是收费的,不能免费使用。现在innodb 公司已经被oracle收购
使用方法:
编辑用于启动的配置文件my.cnf和用于备份的配置文件my2.cnf
my.cnf的例子如下:
[mysqld] datadir = /home/heikki/data innodb_data_home_dir = /home/heikki/data innodb_data_file_path = ibdata1:10M:autoextend innodb_log_group_home_dir = /home/heikki/data set-variable = innodb_log_files_in_group=2 set-variable = innodb_log_file_size=20M
如果想备份到/home/heikki/backup,则my2.cnf的例子如下:
[mysqld]datadir = /home/heikki/backupinnodb_data_home_dir = /home/heikki/backupinnodb_data_file_path = ibdata1:10M:autoextendinnodb_log_group_home_dir = /home/heikki/backupset-variable = innodb_log_files_in_group=2 set-variable = innodb_log_file_size=20M
开始备份ibbackup my.cnf my2.cnf如果需要恢复,则进行日志重做ibbackup --apply-log my2.cnf恢复后重启数据库服务./bin/mysqld_saft --defaults-file=my2.cnf &
时间点恢复:
1. 如果上午 10点发生了误操作,可以用以下语句用备份和 binglog将数据恢复到故
障前:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 | mysql -u root –pmypwd
2. 跳过故障时的时间点,继续执行后面的 binlog,完成恢复
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456| mysql -u root -pmypwd \
位置恢复:
和时间点恢复类似,但是更精确,步骤如下:
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,编辑此文件,找到出错语句前后的位置号 ,例如前后位置号分别是368312 和368315。恢复了以前的备份文件后,你应从命令行输入下面内容:
mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \ | mysql -u root -pmypwd mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \ | mysql -u root -pmypwd \
上面的第1 行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置
直到二进制日志结束的所有事务。因为mysqlbinlog 的输出包括每个SQL 语句记录
之前的SET TIMESTAMP 语句,恢复的数据和相关MySQL 日志将反应事务执行的原时
间。
MyISAM表修复:
一张损坏的表的症状通常是查询意外中断并且能看到下述错误:
? “tbl_name.frm”被锁定不能更改。
? 不能找到文件“tbl_name.MYI”(Errcode:nnn)。
? 文件意外结束。
? 记录文件被毁坏。
? 从表处理器得到错误nnn
解决方法如下:
方法一:
myisamchk -r tablename上面的方法几乎能解决所有问题,如果不行,则使用:
myisamchk -o tablename方法二:
1) CHECK TABLE tbl_name [, tbl_name] ... [option] ... option = {QUICK | FAST | MEDIUM | EXTENDED | CHANGED} 2) REPAIR [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ... [QUICK] [EXTENDED] [USE_FRM]

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

Zend Studio 13.0.1
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Atom editor mac version download
The most popular open source editor
