日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql主节点数据恢复_Mysql 主从复制+数据恢复

發(fā)布時(shí)間:2025/5/22 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql主节点数据恢复_Mysql 主从复制+数据恢复 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、主服務(wù)器Master配置:

#設(shè)置數(shù)據(jù)庫(kù)標(biāo)識(shí)

server_id=1

#任何一個(gè)事務(wù)提交之后就立即寫入到磁盤中的二進(jìn)制文件

sync_binlog=1

#保持?jǐn)?shù)據(jù)一致性,建議配置

innodb_flush_log_at_trx_commit=1

#開(kāi)啟服務(wù)器二進(jìn)制日志

log-bin=mysql-bin

#設(shè)置log格式

binlog_format=MIXED

#不記錄二進(jìn)制數(shù)據(jù)庫(kù)的數(shù)據(jù)

binlog-ignore-db=test

2、從服務(wù)器Slave配置

#設(shè)置數(shù)據(jù)庫(kù)標(biāo)識(shí)

server_id = 2

#設(shè)置不同步的數(shù)據(jù)庫(kù)

replicate-ignore-db=testDB

#設(shè)置不同步的數(shù)據(jù)表

replicate-ignore-table=testDB.testTable

給服務(wù)器設(shè)置授權(quán)賬戶

設(shè)置user賬戶能從10.10.0.1服務(wù)器登陸本機(jī),且擁有所有權(quán)限

Mysql>grant all on *.* to user@10.10.0.1?indentified by ‘password’

(密碼必須有引號(hào))

user賬戶只有備份權(quán)限

Mysql>grant replication slave on *.* to user@10.10.0.1 indentified by ‘password’

設(shè)置其他主機(jī)能使用root登陸數(shù)據(jù)庫(kù)

Mysql>GRANT ALL PRIVILEGES ON * . * TO 'root'@'%'IDENTIFIED BY ‘password’

使添加的賬號(hào)生效:FLUSH PRIVILEGES;

master服務(wù)器查看是否開(kāi)啟二進(jìn)制日志:show variables like '%bin';

master服務(wù)器查看二進(jìn)制日志狀態(tài):show mater status;

Flush logs; 增加一個(gè)最新的bin-log日志

Truncate? tables;?? 清空當(dāng)前表中的所有數(shù)據(jù)

Reset master;清空所有的bin-log日志

slave服務(wù)器停止同步,輸入:stop slave;

slave服務(wù)器顯示同步狀態(tài)及設(shè)置:show slave status\G

數(shù)據(jù)庫(kù)同步

注意數(shù)據(jù)庫(kù)同步前,需要在Master數(shù)據(jù)庫(kù)鎖定當(dāng)前數(shù)據(jù)庫(kù),可保持?jǐn)?shù)據(jù)一致性

鎖定:mysql>flushtables with read lock;

解鎖:mysql>unlocktables;

開(kāi)啟同步:

CHANGE MASTER TO MASTER_HOST='ServerIP/FQDN',MASTER_USER='ReplClient', MASTER_PASSWORD='ClientPassword',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=120;

輸入show slave status\G

再輸入:start slave;重新輸入show slave status\G?? ,顯示如下參數(shù)

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

即同步設(shè)置成功 ?注意:部分服務(wù)器可能需要開(kāi)啟3306端口,或關(guān)閉防火墻設(shè)置才可生效。

進(jìn)入二進(jìn)制日志目錄,輸入下面語(yǔ)句可查看二進(jìn)制日志:

mysqlbinlog?--no-defaults? mysql-bin.000001 | more

若編譯安裝的Mysql,選擇mysql安裝目錄下執(zhí)行Mysql/bin/mysqlbinlog

數(shù)據(jù)恢復(fù)

Mysql/bin/mysqlbinlog?--no-defaults? mysql-bin.000001 |mysql –u –root –p(password) (可選database)

Linux mysql數(shù)據(jù)庫(kù)備份

Mysqldump –uroot –p database –l –F ‘/home/backup.sql’

-l 指鎖定數(shù)據(jù)庫(kù)表。只能讀,不能寫。

-F 指flushlogs , 可以重新生產(chǎn)新的日志文件。包括log-bin日志

數(shù)據(jù)導(dǎo)入:mysql –uroot –p (可選database) -v –f? < /home/backup.sql

-v查看導(dǎo)入的詳細(xì)信息

-f 當(dāng)中間遇到錯(cuò)誤,可以skip,繼續(xù)執(zhí)行下面語(yǔ)句

查看bin-log日志,可以根據(jù)Position或者根據(jù)時(shí)間段恢復(fù)

例如通過(guò)Bin-log日志恢復(fù)position段100到500 的數(shù)據(jù):

1、先查看position段中日志,確實(shí)是否需要恢復(fù)

mysqlbinlog –no-defaults mysql-bin.000002 --start-position=”100”--stop-position=”500” |more

注意position100可能不會(huì)恢復(fù)。因?yàn)閳?zhí)行語(yǔ)句在Position日志之上。

--start-position和--stop-position可選擇一個(gè)執(zhí)行。無(wú)需同時(shí)存在。

Btw:時(shí)間段恢復(fù)參數(shù)為:--stop-date= “2014-01-01 12:00:00” 、

--start-date = “2014-01-01 12:00:00”

總結(jié)

以上是生活随笔為你收集整理的mysql主节点数据恢复_Mysql 主从复制+数据恢复的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。