十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
如果你要恢復(fù)的數(shù)據(jù)庫是包含授權(quán)表的mysql數(shù)據(jù)庫,您將需要使用--skip贈款-tables選項(xiàng)來運(yùn)行服務(wù)器恢復(fù)整個(gè)數(shù)據(jù)庫
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為雷山等服務(wù)建站,雷山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為雷山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
- 首先,。否則,服務(wù)器會抱怨不能找到授權(quán)表?;謴?fù)表后,執(zhí)行mysqladmin沖水privileges告訴服務(wù)器裝載授權(quán)表,并用它們來啟動。數(shù)據(jù)庫目錄到其他地方的原始內(nèi)容
復(fù)制。例如,您可以使用它們在以后的事后分析檢查表(驗(yàn)尸)的崩潰。
酒店與最新的數(shù)據(jù)庫備份文件重新加載。如果您打算使用mysqldump的所加載的文件,則需要輸入它們作為mysql的。如果您打算使用從數(shù)據(jù)庫文件直接拷貝(例如,使用tar或CP),它會復(fù)制他們直接回?cái)?shù)據(jù)庫目錄中。然而,在這種情況下,你應(yīng)該在關(guān)閉之前,該服務(wù)器復(fù)制這些文件,然后重新啟動它。在備份過程中
重做日志,然后查詢更新數(shù)據(jù)庫表中。對于所有可用的更新日志,你可以使用它作為mysql的輸入。指定--one-database選項(xiàng),因此MySQL只是要還原的數(shù)據(jù)庫執(zhí)行查詢。如果你意識到有必要使用所有的更新日志文件,可以使用包含以下命令日志的目錄:
%LS-TRL更新(0-9)* | xargs的貓| mysql--。一個(gè)數(shù)據(jù)庫DB_NAME
ls命令生成一個(gè)單獨(dú)的日志文件更新列表,更新日志文件根據(jù)服務(wù)器(你知道,如果你其中的任何文件,排序順序生成的順序進(jìn)行排序會發(fā)生變化,這將導(dǎo)致在更新日志中以錯(cuò)誤的順序使用)。有限公司您可能需要使用一些更新日志。例如,如果日志,因?yàn)槊鹵pdate.392備份,pdate.393等產(chǎn)生的,可以在命令重新運(yùn)行它們:
%的mysql - 一個(gè)數(shù)據(jù)庫DB_NAME 錄入。 392
%的mysql - 一個(gè)數(shù)據(jù)庫DB_NAME updata.393 ...
如果您正在運(yùn)行的恢復(fù),并打算使用更新日志恢復(fù)由于失誤降數(shù)據(jù)的基礎(chǔ)上,DROPTABLE或DELETE語句和丟失的信息時(shí),一定要在開始更新日志刪除這些語句。
恢復(fù)單個(gè)表
恢復(fù)單個(gè)表是非常困難的。如果是的mysqldump備份文件生成的,它只是不包含數(shù)據(jù),您需要一個(gè)表,你需要提取的相關(guān)線路,并利用它們作為mysql的輸入,這部分比較容易。困難的是,提取在該表的更新日志中使用的片段。你會發(fā)現(xiàn):mysql_find_rows工具在這方面有所幫助,它可以提取多行從更新日志查詢。另一種可能性是使用另一臺服務(wù)器
恢復(fù)整個(gè)數(shù)據(jù)庫,然后將該文件復(fù)制到表的原始數(shù)據(jù)庫。這其實(shí)很容易!當(dāng)文件被復(fù)制回?cái)?shù)據(jù)庫目錄,確保原始數(shù)據(jù)庫服務(wù)器關(guān)閉。
mysql cve-2016-6662 怎么修
原始漏洞分析地址
安全客文章地址
就我目前測試的情況來看,這個(gè)漏洞比較雞肋,原因有以下兩點(diǎn):
1,使用默認(rèn)方式安裝的mysql,mysql用戶并沒有配置文件/etc/mysql/my.cnf的所屬權(quán)限;
2,不關(guān)閉selinux或apparmor的話,exp腳本執(zhí)行是會報(bào)錯(cuò)的。
legalhackers原文中提到這個(gè)漏洞的前提是很多人按照錯(cuò)誤的安裝指南來進(jìn)行權(quán)限配置,將配置文件的所屬用戶修改成了mysql。不過貌似漏洞發(fā)現(xiàn)者手里還藏了幾個(gè)更加嚴(yán)重的mysql漏洞,并沒有披露。
I. VULNERABILITY
MySQL = 5.7.15 遠(yuǎn)程代碼執(zhí)行/權(quán)限提升 (0day)
5.6.33
5.5.52
克隆mysql的同樣受影響, 包括:
MariaDB PerconaDB
II. INTRODUCTION
一個(gè)獨(dú)立的研究組織發(fā)現(xiàn)多處嚴(yán)重的Mysql漏洞,此次通報(bào)的是其中比較嚴(yán)重的一個(gè)漏洞CVE-2016-6662,它允許攻擊者遠(yuǎn)程注入惡意設(shè)置到被攻擊服務(wù)器的Mysql配置文件(my.cnf)中,導(dǎo)致更加嚴(yán)重的后果。
該漏洞影響所有默認(rèn)配置的Mysql版本分支(5.7、5.6、5.5),包括最新的版本,并可能被攻擊者進(jìn)行本地或者遠(yuǎn)程的利用。Exp既可以通過網(wǎng)絡(luò)連接或者利用類似phpmyadmin之類的web管理工具,以及SQL注入漏洞等來實(shí)現(xiàn)遠(yuǎn)程提權(quán)的目的。
SQL注入漏洞是在web應(yīng)用中最常見的漏洞之一,在存在注入漏洞的情況下,攻擊者可以配合CVE-2016-6662進(jìn)行更加深入的入侵。如果被攻擊服務(wù)器有運(yùn)行受影響的mysql版本,攻擊者可以以root權(quán)限執(zhí)行任意代碼,從而完全控制被攻擊服務(wù)器。
目前官方還沒有提供針對該漏洞的補(bǔ)丁,即使服務(wù)器開啟了SELinux安全模式,也會受到該漏洞Exp的影響。該通報(bào)后面提供一個(gè)該漏洞的Poc,演示攻擊者如何實(shí)現(xiàn)遠(yuǎn)程代碼執(zhí)行。
III. DESCRIPTION
默認(rèn)的Mysql安裝包自帶mysql_safe腳本,啟動mysql服務(wù)器就可以觀察到,例如,進(jìn)行mysql全面更新。
Debian系統(tǒng):
root@debian:~# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
有兩種方法,一種方法使用使用MySQL提供的多個(gè)myisamchk, isamchk數(shù)據(jù)檢測恢復(fù)工具。另一種方法是MySQL的check table和repair table 的sql語句,使用起來比較簡便。 一、myisamchk, isamchk 其中myisamchk適用于MYISAM類型的數(shù)據(jù)表,而isamchk適用于ISAM類型的數(shù)據(jù)表。這兩條命令的主要參數(shù)相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數(shù)據(jù)表類型,這里以myisamchk為例子進(jìn)行說明。當(dāng)發(fā)現(xiàn)某個(gè)數(shù)據(jù)表出現(xiàn)問題時(shí)可以使用: myisamchk tablename.MYI 進(jìn)行檢測,如果需要修復(fù)的話,可以使用: myisamchk -of tablename.MYI 關(guān)于myisamchk的詳細(xì)參數(shù)說明,可以參見它的使用幫助。需要注意的時(shí)在進(jìn)行修改時(shí)必須確保MySQL(和PHP搭配之最佳組合)服務(wù)器沒有訪問這個(gè)數(shù)據(jù)表,保險(xiǎn)的情況下是最好在進(jìn)行檢測時(shí)把MySQL(和PHP搭配之最佳組合)服務(wù)器Shutdown掉。 另外可以把下面的命令放在你的rc.local里面啟動MySQL(和PHP搭配之最佳組合)服務(wù)器前: 1.[ -x /tmp/MySQL(和PHP搭配之最佳組合).sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI 其中的/tmp/MySQL(和PHP搭配之最佳組合).sock是MySQL(和PHP搭配之最佳組合)監(jiān)聽的Sock文件位置,對于使用RPM安裝的用戶應(yīng)該是/var/lib/MySQL(和PHP搭配之最佳組合)/MySQL(和PHP搭配之最佳組合).sock,對于使用源碼安裝則是/tmp/MySQL(和PHP搭配之最佳組合).sock可以根據(jù)自己的實(shí)際情況進(jìn)行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL(和PHP搭配之最佳組合)數(shù)據(jù)庫存放的位置。 需要注意的時(shí),如果你打算把這條命令放在你的rc.local里面,必須確認(rèn)在執(zhí)行這條指令時(shí)MySQL服務(wù)器必須沒有啟動! 檢測修復(fù)所有數(shù)據(jù)庫(表) MySQL(和PHP搭配之最佳組合)check -A -o -r -p 二、check table 和 repair table 登陸MySQL終端: MySQL -uxxxxx -p dbname 1. check table tabTest; 如果出現(xiàn)的結(jié)果說Status是OK,則不用修復(fù),如果有Error,可以用: 1. repair table tabTest; 進(jìn)行修復(fù),修復(fù)之后可以在用check table命令來進(jìn)行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
來快速修復(fù)所有的數(shù)據(jù)庫或者特定的數(shù)據(jù)庫;方法:進(jìn)入Mysql的Bin目錄:C:\Program Files\MySQL\MySQL Server 4.1\bin運(yùn)行:mysqlcheck -A -o -r -uroot -p123注意,將123改成你自己的root用戶密碼希望能解決您的問題。
也許很多人遇到過類似Can’t open file: ‘[Table]mytable.MYI’ 這樣的錯(cuò)誤信息,卻不知道怎么解決他,下面我們做個(gè)介紹, 多數(shù)情況下,數(shù)據(jù)庫被破壞只是指索引文件受到了破壞,真正的數(shù)據(jù)被破壞掉的情況非常少。大多數(shù)形式的數(shù)據(jù)庫破壞的的修復(fù)相當(dāng)簡...