Centos Mysql数据还原
一、通過mysqlbinlog恢復數據
先安裝mysql mysql-server
yum -y install mysql mysql-server編輯配置文件
[root@localhost 桌面]# vim /etc/my.cnf #添加 log-bin=mysql-bin
啟動服務
設置mysql密碼
[root@localhost mysql]# mysqladmin -u root password '123456'看二進制文件是否啟用
mysql> show global variables like '%log%';
已經啟用
有三個二進制文件,當前使用的是第三個
查看這個文件的詳細的信息,做任何操作都會在這個文件中呈現出來
先進行一些操作
查看一下,確實記錄了剛才的操作
添加刪除的操作都有記錄
利用二進制文件進行恢復操作
拿時間做恢復,必須精確到秒
但是dd數據庫沒有被恢復,因為我們設置的結束時間是dd的創建時間,應該用dd下面刪除數據庫的時間.
下面根據位置進行還原
因為位置是結束位置,所以要向上一條去寫
[root@localhost mysql]# mysqlbinlog --start-position=1024 --stop-position=1261 mysql-bin.000003 |mysql -u root -p
總結一下:
定期清楚binlog文件,但不能使用rm去刪除這些二進制文件
mysql> purge binary logs to 'mysql-bin.000002'; #會將'mysql-bin.000001'文件刪除主從復制
定義:
主從同步使得數據可以從一個數據庫服務器復制到其他服務器上,在復制數據時,一個服務器充當主服務器(master),其余的服務器充當從服務器(slave)。因為復制是異步進行的,所以從服務器不需要一直連接著主服務器,從服務器甚至可以通過撥號斷斷續續地連接主服務器。通過配置文件,可以指定復制所有的數據庫,某個數據庫,甚至是某個數據庫上的某個表。
主服務器(master)
yum -y install mysql mysql-server關閉防火墻\SELinux
iptables -F setenforce 0啟用二進制文件
vim /etc/my.cnf
開啟mysql
設置密碼
[root@localhost 桌面]# mysqladmin -u root password '123456'在mysql中設置權限
mysql> grant replication slave on *.* to 'zhangsan'@'%' identified by '123456'; mysql> flush privileges;當前使用的二進制文件
從服務器
關閉防火墻\SELinux
iptables -F setenforce 0編輯配置文件
設置數據庫密碼
進行同步操作
start slave; show slave status\G;
連接成功,可以進行同步
主服務器
從服務器
在從服務器上進行查看
同步成功
三、主主復制
所謂雙主備份,其實也就是互做主從復制,每臺master既是master,又是另一臺服務器的slave。這樣,任何一方所做的變更,都會通過復制應用到另外一方的數據庫中。
主服務器端
yum -y install mysql mysql-server修改主配置文件,添加
啟動,如果失敗了直接恢復快照直接重來
進行授權
進行同步操作
mysql> show slave status\G;
屬服務器
yum -y install mysql mysql-server修改主配置文件,添加
先把數據庫給鎖一下,防止數據更新
進行拷貝
再進行解鎖
授權
查看
進行同步
mysql> show slave status\G;
最后進行測驗
在主服務器
use test; create table aa(name char(20));從服務器
查看主服務器
查看從服務器
說明雙方互相同步,實驗完成
總結
以上是生活随笔為你收集整理的Centos Mysql数据还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BUU_刷题之旅(One)
- 下一篇: Web_SQL注入(1)