大家常常听说过数据库的 备份 和 还原 ,比如 Sql Server , Oracel 等数据库的 备份 和 还原 。 OK ,我们这一节讨论 Active Directory 数据库的 备份 和 还原 。 Active Directory 数据库的 备份 在企业应用环境中是个非常重要的工作,无论是单域单域控的
大家常常听说过数据库的备份和还原,比如Sql Server ,Oracel等数据库的备份和还原。OK,我们这一节讨论Active Directory数据库的备份和还原。
Active Directory数据库的备份在企业应用环境中是个非常重要的工作,无论是单域单域控的,单域多域控的,还是多域多域控的环境,Active Directory数据库的备份都是要经常做的工作。备份的好处如下:
1, 灾难恢复。对于单域单域控的企业环境,如果Active Directory生病了,比如误操作,磁盘等的原因,如果我们备份过Active Directory数据库,恢复起来非常的容易。当然对于单域多域控的环境和多域多域控的环境是同样的道理,步骤相对麻烦而已。
2, 转移数据。如果我们要在当前域搭建一台额外域控制器,无论这台新的额外域控制器是和主域控制器在一个地理位置,还是在不同的地理位置。通过备份来转移数据是非常时效的方法。
本节的实验环境,如下图
一,备份前的准备 了解Active Directory的工作过程 我们与活动目录交互时,比如在活动目录中添加、更新、删除和移除对象等修改操作,在业务逻辑上其实是采用了事务的机制来完成的。而事务我们知道遵从ACID原则,脱离ACID原则的事务是不存在的。事务在关系数据库中处处可见,当然在企业应用系统中也很常见。一个事务中的一系列操作要么全部都做成功,要么全部都不做。 活动目录中的数据修改时,会按照下面这个过程完成:
步骤如下: 1, 我们向活动目录提交一个写请求 2, AD根据写请求初始化一个事务 3, 接着AD在内存中缓存该事务, 4, 同时AD把该事务操作写到事务日志文件edb.log中 5, 接着AD把事务操作结果写到磁盘上的数据库文件ntds.dit 6, 接着AD对比数据库文件和日志文件以确保事务被提交 7, 最后AD更新检查点文件edb.chk 了解Active Directory数据库文件的作用
1, ntds.dit文件就是传说中的Active Directory数据库文件。它存储了该DC中所有的AD对象数据。扩展名dit的意思是directory information tree,意思是目录信息树。
2, edb.log是一个事务日志文件。它保存着Active Directory的变动记录。也就是说edb.log是Active Directory变动的记录文件。默认的事务日志名是edb.log,每个事务日志的文件大小为10MB,当文件edb.log被写满时它被重命名为edbxxxx.log,从重新建立一个变动记录文件,同时不需要的旧记录文件会被自动删除。其中xxxx是文件编号,从0001开始,逐渐递增。AD在将变动数据写入到内存的同时,AD也会将变动数据写到变动记录文件内(edb.log)。如果系统不正常关机,导致内存尚未写入到Active Directory的数据丢失时,当再开机后,系统便可以根据检查点文件edb.chk来得知要从变动记录文件edb.log内的哪个数据开始,利用变动记录文件edb.log内的变动记录,将关机前尚未写入Active Directory数据库的变动记录继续写入。
3, edb.chk是“检查点”文件,每次AD将内存中的数据写到AD时,都会更新deb.chk文件。以便记录与内存相对用的变动记录文件edb.log内有哪一些数据已经写入到Active Director数据库内。该文件用来维护内存和磁盘上的Active Directory数据库之间的数据的指针。该文件的指针指出了日志文件edb.log的起始点,如果修改有错误,就从该起始点开始覆盖信息。
4, res1.log和res2.log是两个预留的事务日志文件,每个大小为10MB。当磁盘空间不够时或耗尽时,变是这2个文件的应用场景。
我们要备份什么?
备份Active Directory数据库,其实就是要备份Active Directory数据库文件和SYSVOL文件夹,而Active Directory数据库文件和SYSVOL文件夹都属于系统状态文件(system state),所以我们通过备份系统状态文件来备份Active Directory数据库。
二,备份Active Directory数据库
备份前首先在域控制器上创建一个北京分公司OU和在北京分公司OU下的2个用户账户bob和terry,同时在客户端client1利用bob登录域。如下图
然后我们开始备份: 步骤1:在server1上,单击开始->运行,输入ntbcakup,回车。如下图 步骤2:在“备份和还原向导”对话框中选择“高级模式”,然后单击“下一步”按钮。我个人比较喜欢这种模式,其实和向导模式是一样的,根据你自己的情况选择。如下图
步骤3:选择“备份”标签,如下图 步骤4:选择System State,单击“浏览”按钮选择备份文件存放的文件夹,其中ADbak文件夹是我们自己创建的,而Backup.bkf是备份文件的默认名,当然也可以改名。然后单击“开始备份”按钮,如下图。 步骤5:这里可以选择计划和高级,根据自身企业的情况而定。计划其实就是要创建计划作业,而高级可以选择正常,增量,差异,副本,每日五种备份类型。然后单击“开始备份”按钮,如下图
步骤6:正在备份System State(系统状态)。如下图 步骤7:备份完成,显示了一些备份信息。单击“关闭”按钮,如下图 步骤8:此时我们切换到“还原和管理媒体”标签,就会看到我们刚刚备份的System State。方法是副本备份,如下图 三,Active Directory数据库的还原 我们这里用标准还原来还原Active Directory数据库。标准还原(normal restore)又称为非强制还原(nonauthoritative restore),也称为非验证还原。名字多多。J !标准还原只是单纯的将Active Directory数据库从备份的介质中还原,不过标准还原在单域单域控的中小企业中经常使用,另外在主辅域控当中我们常常先用标准还原再搭配强制性还原来灾难恢复,所以我们这里先演示标准还原。强制性还原和主要还原后续文章会谈。
为了演示标准还原,我们先删除contoso.com域中北京分公司OU。同时也删除这个OU下的2个用户账户bob和terry。然后我们用标准还原把他们找回来。开始吧。 步骤1:重启域控制器server1,然后按F8进入“Windows高级选项菜单”,然后我们选择“目录服务还原模式(只用于Windows域控制器)”。 步骤2:选择操作系统,如下图 步骤3:输入目录服务还原模式的账户和密码,还记我们在安装活动目录时设置那个目录服务还原模式账户密码吗?对,就是那个。 步骤4:开始à运行->输入ntbackup->选择“高级模式”->切换到还原和管理媒体->选择System State。然后单击“开始还原”,如下图。 步骤5:单击确定。如下图 步骤6:单击确定,当然我们也可以切换到高级看看和制作离线备份文件时还原的高级有什么不同。发现默认第二项这里也选择了。如下面的2副图 步骤7:正在还原,如下图。还原完成后弹出一个还原完成的报告对话框。
最后我们重新启动域控制器server1,发现被删除的北京分公司OU和它下面的bob和terry用户账户已经被还原了。
李涛的技术专栏

InnoDB使用redologs和undologs確保數據一致性和可靠性。 1.redologs記錄數據頁修改,確保崩潰恢復和事務持久性。 2.undologs記錄數據原始值,支持事務回滾和MVCC。

EXPLAIN命令的關鍵指標包括type、key、rows和Extra。 1)type反映查詢的訪問類型,值越高效率越高,如const優於ALL。 2)key顯示使用的索引,NULL表示無索引。 3)rows預估掃描行數,影響查詢性能。 4)Extra提供額外信息,如Usingfilesort提示需要優化。

Usingtemporary在MySQL查詢中表示需要創建臨時表,常見於使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通過優化索引和重寫查詢避免其出現,提升查詢性能。具體來說,Usingtemporary出現在EXPLAIN輸出中時,意味著MySQL需要創建臨時表來處理查詢。這通常發生在以下情況:1)使用DISTINCT或GROUPBY時進行去重或分組;2)ORDERBY包含非索引列時進行排序;3)使用複雜的子查詢或聯接操作。優化方法包括:1)為ORDERBY和GROUPB

MySQL/InnoDB支持四種事務隔離級別:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。 1.ReadUncommitted允許讀取未提交數據,可能導致臟讀。 2.ReadCommitted避免臟讀,但可能發生不可重複讀。 3.RepeatableRead是默認級別,避免臟讀和不可重複讀,但可能發生幻讀。 4.Serializable避免所有並發問題,但降低並發性。選擇合適的隔離級別需平衡數據一致性和性能需求。

MySQL適合Web應用和內容管理系統,因其開源、高性能和易用性而受歡迎。 1)與PostgreSQL相比,MySQL在簡單查詢和高並發讀操作上表現更好。 2)相較Oracle,MySQL因開源和低成本更受中小企業青睞。 3)對比MicrosoftSQLServer,MySQL更適合跨平台應用。 4)與MongoDB不同,MySQL更適用於結構化數據和事務處理。

MySQL索引基数对查询性能有显著影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL學習路徑包括基礎知識、核心概念、使用示例和優化技巧。 1)了解表、行、列、SQL查詢等基礎概念。 2)學習MySQL的定義、工作原理和優勢。 3)掌握基本CRUD操作和高級用法,如索引和存儲過程。 4)熟悉常見錯誤調試和性能優化建議,如合理使用索引和優化查詢。通過這些步驟,你將全面掌握MySQL的使用和優化。

MySQL在現實世界的應用包括基礎數據庫設計和復雜查詢優化。 1)基本用法:用於存儲和管理用戶數據,如插入、查詢、更新和刪除用戶信息。 2)高級用法:處理複雜業務邏輯,如電子商務平台的訂單和庫存管理。 3)性能優化:通過合理使用索引、分區表和查詢緩存來提升性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6
視覺化網頁開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。