仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 551|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL教程之在MySQL中利用更新日记文件

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:11:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。你不成能随时备份数据,但你的数据丧失时,大概数据库目次中的文件破坏时,你只能恢复已备份的文件,而在这以后的拔出或更新的数据,就力所不及了。办理这个成绩,就必需利用更新日记。更新日记能够及时纪录更新、拔出和删除纪录的SQL语句。
启用日记
当以--log-update=file_name选项启动时,MySQLd将一切更新数据的SQL命令写进纪录文件中。文件被写进数据目次而且有一个名字file_name.#,这里#是一个数字,它在每次实行mysqladminrefresh或mysqladminflush-logs、FLUSHLOGS语句、或重启服务器时加1。
假如你不指定file_name,缺省利用服务器的主机名。
假如你在文件射中指定扩大名,那末更新日记不再利用按次文件,利用指定的文件。可是当你它在每次实行mysqladminrefresh或mysqladminflush-logs、FLUSHLOGS语句、或重启服务器光阴志文件被清空。
更新纪录很伶俐,由于它仅仅纪录真正更新数据的语句。因而一个用WHERE的UPDATE或DELETE找不到行,它就不被写进纪录文件。它乃至跳过将设置一个列为它已有的值的UPDATE语句。
重写日记
必需侧重指出的是,鄙人列情形之一,将利用新的日记文件――日记文件的按次主动增添(未指定file_name大概指定的file_name不包含扩大名)大概清空文件(指定的file_name包含扩大名):
命令mysqladminrefresh
命令mysqladminflush-logs
SQL语句FLUSHLOGS
服务重视新启动
恢复日记内容
关于一切的更新日记文件,你都能够把它指定为mysql客户机的输出,来实行个中的SQL语句,恢单数据。比方:
shell>mysql
可是,你大概由于实行DROPDATABASE误删除,但愿只恢复该数据库的内容,为了这个目标,你可使用--one-database选项:
shell>mysql--one-databasedb_name<hostname.nnn
假如你要批量恢复更新日记的数据,在Unix中能够如许:
$lsCtCrClhostname.[0-9]*|xargscat|mysql--one-databasedb_name
注重因为文件是定时间工夫排序的,假如你修正的个中的任何文件,城市由于按次的毛病招致大概导进毛病的数据。
假如按文件按次恢单数据,就往失落-t和-r选项:
$ls-lhostname.[0-9]*|xargscat|mysql--one-databasedb_name
总结
本节先容了有关日记文件特别是更新日记的操纵。必要注重的是怎样启用更新日记、服务重视写日记的机会、和怎样恢复更新日记的内容。特别是个中的各类技能,比方怎样依照日记文件天生的工夫按次恢复日记,怎样只恢复指定命据库的内容。
MySQLAB公司的一个高级开发者者表示,“这个特点使得MySQL可以根据你当前的系统的需要来进行调整。”
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-18 18:30:09 来自手机 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
若天明 该用户已被删除
板凳
发表于 2015-1-24 16:37:34 | 只看该作者
总感觉自己还是不会SQL
变相怪杰 该用户已被删除
地板
发表于 2015-2-2 11:01:11 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
第二个灵魂 该用户已被删除
5#
发表于 2015-2-7 18:37:16 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
山那边是海 该用户已被删除
6#
发表于 2015-2-23 00:46:21 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-7 05:39:58 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
透明 该用户已被删除
8#
发表于 2015-3-14 13:53:51 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
爱飞 该用户已被删除
9#
发表于 2015-3-21 09:42:00 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 03:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表