- 浏览: 801439 次
- 性别:
- 来自: 成都
-
文章分类
- 全部博客 (151)
- Java-Basic (25)
- Java-NIO (3)
- Java-Mybatis (4)
- Java-Web (15)
- DB-oracle (18)
- DB-mysql (29)
- DB-sqlserver (4)
- DB-postgresql (2)
- DB-SQLite (1)
- DB-H2 (6)
- Tool-Flex (1)
- Tool-Ftp (3)
- Tool-Maven (5)
- Netlink (2)
- Web-CSS (3)
- Web-UI (1)
- Web-JavaScript (8)
- NoSQL (3)
- Mina (2)
- TCPUDP (2)
- SEO (2)
- Network (6)
- DataStructure (1)
- Website-test (1)
- Tool-Excel (1)
- Java-Concurrent (2)
- 前辈指点 (0)
- Eclipse plugins (1)
- DB-NoSQL (1)
最新评论
-
18322696278:
My97DatePicker控件显示时分秒 -
dllhenu:
你好,我让ol加载tiptip,但是tiptip没有在点所在的 ...
OpenLayers下使用Jquery tooltip(Qtip)让要素信息自动显示或隐藏 -
boonya:
你所说的是网页上选择文件路径吧,用ServletFileUpl ...
Apache提供的FTP文件上传下载 -
淡然若水:
我也是用这种方法啊。。。但是FileInputStream i ...
Apache提供的FTP文件上传下载 -
liuweihug:
json序列化反序列化插件-json2.js 介绍和使用 - ...
Json 数据反序列化为Java对象
〇、物理备份与逻辑备份
逻辑备份:将需要备份的数据通过一定的规则保存到一个文件中,适用于业务备份和增量备份
——优点:占用空间小;缺点:备份时间长,恢复也比较麻烦。
物理备份:该方法实现数据库的完整恢复,将数据库文件按照原数据库结构格式存储。
——优点:备份时间短,数据恢复快;缺点:占用空间大。
备份方案:物理备份与逻辑备份混用
业务数据删除采用逻辑备份(表中的部分数据备份),系统用户初始化备份采用物理备份(按表备份)。
物理备份处理
备份:直接导出sql语句文件;数据恢复:执行备份sql文件。下面是示例:
1)导出整个数据库(导出文件默认是存在mysql\bin目录下)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2) 导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3) 导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4) 带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
例如,将aaa库备份到文件back_aaa中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
mysqldump命令是客户端备份命令,不能在SQL查询窗口中直接使用,可以通过编写并执行shell脚本来调用,也可以通过java调用shell脚本来执行(依赖于Linux系统环境)。
逻辑备份处理
报表导出表数据,如Excel,导出(备份)导入(数据恢复)功能都需要实现!
一、数据备份
1、使用mysqldump命令备份
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。
1、备份一个数据库
mysqldump基本语法:
mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname参数表示数据库的名称;
table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
使用root用户备份test数据库下的person表
mysqldump -u root -p test person > D:\backup.sql
其生成的脚本如下:
文件的开头会记录MySQL的版本、备份的主机名和数据库名。
文件中以“--”开头的都是SQL语言的注释,以"/*!40101"等形式开头的是与MySQL有关的注释。40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就会被当做注释。
2、备份多个数据库
语法:
mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
加上了--databases选项,然后后面跟多个数据库
mysqldump -u root -p --databases test mysql > D:\backup.sql
3、备份所有数据库
mysqldump命令备份所有数据库的语法如下:
mysqldump -u username -p -all-databases > BackupName.sql
示例:
mysqldump -u -root -p -all-databases > D:\all.sql
2、直接复制整个数据库目录
MySQL有一种非常简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。
不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。
注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。
3、使用mysqlhotcopy工具快速备份
一看名字就知道是热备份。因此,mysqlhotcopy支持不停止MySQL服务器备份。而且,mysqlhotcopy的备份方式比mysqldump快。mysqlhotcopy是一个perl脚本,主要在Linux系统下使用。其使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。
原理:先将需要备份的数据库加上一个读锁,然后用FLUSH TABLES将内存中的数据写回到硬盘上的数据库,最后,把需要备份的数据库文件复制到目标目录。
命令格式如下:
[root@localhost ~]# mysqlhotcopy [option] dbname1 dbname2 backupDir/
dbname:数据库名称;
backupDir:备份到哪个文件夹下;
常用选项:
--help:查看mysqlhotcopy帮助;
--allowold:如果备份目录下存在相同的备份文件,将旧的备份文件加上_old;
--keepold:如果备份目录下存在相同的备份文件,不删除旧的备份文件,而是将旧的文件更名;
--flushlog:本次辈分之后,将对数据库的更新记录到日志中;
--noindices:只备份数据文件,不备份索引文件;
--user=用户名:用来指定用户名,可以用-u代替;
--password=密码:用来指定密码,可以用-p代替。使用-p时,密码与-p之间没有空格;
--port=端口号:用来指定访问端口,可以用-P代替;
--socket=socket文件:用来指定socket文件,可以用-S代替;
mysqlhotcopy并非mysql自带,需要安装Perl的数据库接口包;下载地址为:http://dev.mysql.com/downloads/dbi.html
目前,该工具也仅仅能够备份MyISAM类型的表。
二、数据还原
1、还原使用mysqldump命令备份的数据库的语法如下:
mysql -u root -p [dbname] < backup.sq
示例:
mysql -u root -p < C:\backup.sql
2、还原直接复制目录的备份
通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。
逻辑备份:将需要备份的数据通过一定的规则保存到一个文件中,适用于业务备份和增量备份
——优点:占用空间小;缺点:备份时间长,恢复也比较麻烦。
物理备份:该方法实现数据库的完整恢复,将数据库文件按照原数据库结构格式存储。
——优点:备份时间短,数据恢复快;缺点:占用空间大。
备份方案:物理备份与逻辑备份混用
业务数据删除采用逻辑备份(表中的部分数据备份),系统用户初始化备份采用物理备份(按表备份)。
物理备份处理
备份:直接导出sql语句文件;数据恢复:执行备份sql文件。下面是示例:
1)导出整个数据库(导出文件默认是存在mysql\bin目录下)
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2) 导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3) 导出一个数据库结构
mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 没有数据 –add-drop-table 在每个create语句之前增加一个drop table
4) 带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
例如,将aaa库备份到文件back_aaa中:
[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
mysqldump命令是客户端备份命令,不能在SQL查询窗口中直接使用,可以通过编写并执行shell脚本来调用,也可以通过java调用shell脚本来执行(依赖于Linux系统环境)。
逻辑备份处理
报表导出表数据,如Excel,导出(备份)导入(数据恢复)功能都需要实现!
一、数据备份
1、使用mysqldump命令备份
mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。
mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。
1、备份一个数据库
mysqldump基本语法:
mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql
其中:
dbname参数表示数据库的名称;
table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库被分成一个后缀名为sql的文件;
使用root用户备份test数据库下的person表
mysqldump -u root -p test person > D:\backup.sql
其生成的脚本如下:
文件的开头会记录MySQL的版本、备份的主机名和数据库名。
文件中以“--”开头的都是SQL语言的注释,以"/*!40101"等形式开头的是与MySQL有关的注释。40101是MySQL数据库的版本号,如果MySQL的版本比1.11高,则/*!40101和*/之间的内容就被当做SQL命令来执行,如果比4.1.1低就会被当做注释。
2、备份多个数据库
语法:
mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
加上了--databases选项,然后后面跟多个数据库
mysqldump -u root -p --databases test mysql > D:\backup.sql
3、备份所有数据库
mysqldump命令备份所有数据库的语法如下:
mysqldump -u username -p -all-databases > BackupName.sql
示例:
mysqldump -u -root -p -all-databases > D:\all.sql
2、直接复制整个数据库目录
MySQL有一种非常简单的备份方法,就是将MySQL中的数据库文件直接复制出来。这是最简单,速度最快的方法。
不过在此之前,要先将服务器停止,这样才可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种情况在开发环境可以,但是在生产环境中很难允许备份服务器。
注意:这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。
3、使用mysqlhotcopy工具快速备份
一看名字就知道是热备份。因此,mysqlhotcopy支持不停止MySQL服务器备份。而且,mysqlhotcopy的备份方式比mysqldump快。mysqlhotcopy是一个perl脚本,主要在Linux系统下使用。其使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。
原理:先将需要备份的数据库加上一个读锁,然后用FLUSH TABLES将内存中的数据写回到硬盘上的数据库,最后,把需要备份的数据库文件复制到目标目录。
命令格式如下:
[root@localhost ~]# mysqlhotcopy [option] dbname1 dbname2 backupDir/
dbname:数据库名称;
backupDir:备份到哪个文件夹下;
常用选项:
--help:查看mysqlhotcopy帮助;
--allowold:如果备份目录下存在相同的备份文件,将旧的备份文件加上_old;
--keepold:如果备份目录下存在相同的备份文件,不删除旧的备份文件,而是将旧的文件更名;
--flushlog:本次辈分之后,将对数据库的更新记录到日志中;
--noindices:只备份数据文件,不备份索引文件;
--user=用户名:用来指定用户名,可以用-u代替;
--password=密码:用来指定密码,可以用-p代替。使用-p时,密码与-p之间没有空格;
--port=端口号:用来指定访问端口,可以用-P代替;
--socket=socket文件:用来指定socket文件,可以用-S代替;
mysqlhotcopy并非mysql自带,需要安装Perl的数据库接口包;下载地址为:http://dev.mysql.com/downloads/dbi.html
目前,该工具也仅仅能够备份MyISAM类型的表。
二、数据还原
1、还原使用mysqldump命令备份的数据库的语法如下:
mysql -u root -p [dbname] < backup.sq
示例:
mysql -u root -p < C:\backup.sql
2、还原直接复制目录的备份
通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。
发表评论
-
MYSQL存储过程游标错误:No data - zero rows fetched, selected, or processed
2019-07-04 11:08 4241游标FETCH获取为空时应该及时退出循环: DROP PR ... -
MYSQL循环和退出条件
2019-07-02 13:55 18261.REPEAT 代码如下: REPEAT S ... -
MySQL中判断索引不存在时添加索引
2019-07-02 13:51 3244使用存储过程实现索引添加: DROP PROCEDURE ... -
MYSQL存储过程处理表字段数据更新及索引
2019-07-02 11:58 1315如题实现如下功能: 表字段修改 数据更新 索引创建 D ... -
MySQL锁表问题处理
2017-05-20 16:56 1243MySQL锁概述 相对其他数据库而言,MySQL的锁机制 ... -
MySQL在Linux找不到表名-处理忽略大小写
2016-12-27 13:23 1328Linux找到my.cnf文件 # find / -name ... -
MySQL用户管理及授权-开启远程访问
2016-12-27 10:27 1827Linux开启或停止Mysql服务 #service mys ... -
MySQL查询语句处理结果-枚举字段
2016-10-08 14:43 1893[size=medium] 语法:CASE [COLUMN_] ... -
MySQL DATE_FORMAT() 函数
2016-09-25 11:49 568注:当前年份是2012-11-15 SELECT DATE_ ... -
MySQL多结果集合并union查询
2016-03-30 16:16 1244需求: 查询规则自定义,由数据库保存,返回结果字段来自同一张表 ... -
MySQL允许局域网或外部IP远程访问
2016-03-23 11:17 1229From:http://jiony.iteye.com/blo ... -
Mysql字符串截取函数SUBSTRING的用法
2016-01-12 13:15 6724MySQL的字符串函数截取字符,比用程序截取(如PHP或JAV ... -
MySQL实现统计数据并插入数据的存储过程
2016-01-12 10:39 1409统计存储过程,这里是将统计的结果插入一个表中,后台可以有定时任 ... -
MySQL存储过程select中为变量赋值
2015-12-29 13:48 3438注:查询可以使用游标获取单个或一组数据,但有时候返回值就只有一 ... -
MySQL存储过程使用游标删除多表数据
2015-12-29 10:43 2101注:游标只有在打开的时候才能使用,用完必须关闭之。 错误存储 ... -
MYSQL通过SQL脚本创建存储过程(游标删除多表数据)
2015-12-28 16:34 2254首先描述一下业务处理存储过程功能:删除除系统管理员创建的角色和 ... -
MySQL函数过程示例-根据视图和游标删除数据
2015-12-23 17:38 1456注:游标和视图结合起来使用,因为游标不支持动态表传入。 参数 ... -
MySQL函数过程示例-删除和插入数据
2015-12-23 16:39 772[color=darkred][size=medium] B ... -
MySQL函数
2015-12-22 11:34 691复制代码 控制流函数 IF ... -
MySQL存储过程示例
2015-12-17 09:40 914写mysql存储过程应注意的几点: 1、声明变量(decla ...
相关推荐
内容概要:本文详细介绍了LabVIEW控件的设计与实现,尤其是一些由经验丰富的老工程师精心打造的控件。LabVIEW是一款图形化编程语言,广泛应用于数据采集、仪器控制和工业自动化领域。文中通过具体实例展示了如何利用LabVIEW创建美观且功能强大的控件,如滑动条、波形图、金属质感旋钮、动态波形图表以及智能选项卡等。作者强调了LabVIEW控件在灵活性和美观度方面的优势,并分享了许多实用的技术细节和优化方法。 适合人群:具有一定编程基础并希望深入了解LabVIEW控件设计的开发者和技术爱好者。 使用场景及目标:适用于需要进行高效的数据展示和交互设计的应用场景,如工业控制系统、实验室设备操作界面等。目标是帮助用户掌握LabVIEW控件的高级特性,提高开发效率和用户体验。 其他说明:文章不仅提供了具体的代码示例,还探讨了控件美学背后的设计理念和技术实现,鼓励读者探索更多可能性。
Delphi 12.3控件之unidac_10.4.0_d27pro.exe
11.盛趣自闭面(还是自己太菜).txt
58面经面试过程和题目.txt
电大操作系统课后习题解答
人工智能技术与应用演讲【61页PPT】
chromedriver-mac-arm64-135.0.7049.41.zip
内容概要:本文详细介绍了QPSK(四相移键控)调制方法及其在瑞利信道和高斯白噪声信道下的误码率(BER)性能分析。首先展示了QPSK星座图的绘制方法,接着构建了一个简化的QPSK发射机模型,用于将二进制比特流映射到相应的星座点。随后,分别实现了两种信道模型:高斯白噪声信道(AWGN)和瑞利信道,并解释了它们的工作原理以及如何向传输信号添加噪声。文中还提供了详细的误码率测试脚本,通过大量随机比特进行仿真,最终得到了不同信噪比条件下的误码率曲线。此外,作者还讨论了QPSK与其他调制方式如BPSK、16QAM之间的性能差异,强调了频谱效率与抗噪能力之间的权衡关系。 适合人群:对无线通信系统感兴趣的科研人员、研究生以及从事通信工程领域的工程师。 使用场景及目标:①帮助读者理解QPSK的基本原理及其在不同信道环境中的行为特性;②提供实用的Python代码片段,便于快速搭建仿真环境并验证理论结果;③探讨各种调制方式的选择依据,指导实际应用中的优化决策。 其他说明:文中多次提到‘骚操作’,意指一些巧妙但非传统的编程技巧,有助于提高代码执行效率或简化复杂度。同时提醒读者注意仿真过程中可能出现的问题,如
新建 Microsoft Word 文档 (9).docx
计算机科学与技术- 软件开发工具 培训资料
bitcount统计每个元素中设置的位数 B = bitcount(A) Counts the number '1' bits in each element B = bitcount(A, bitValue) "bitValue" = 1 = default = counts the occurance of '1' if bitValue = 0; counts the number '0' The total bits to verify is [8,16,32,or 64] based on the maximal value of A B = bitcount(A, bitValue, maxBits) the total # of bits to examine
MOM生产运营管理平台解决方案【35页PPT】
deli-数码录音电话机-HCD6238(28)P-TSD-使用说明书
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之Tsilang 7.5.0.0 D12.7z
ios+UIButton分类+UIButton+UIButton图片文字位置
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之TextEditorPro64.7z
尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 文章使用的资源,防止gitee资源丢失