mysql主节点数据恢复_Mysql 主从复制+数据恢复
1、主服務器Master配置:
#設置數據庫標識
server_id=1
#任何一個事務提交之后就立即寫入到磁盤中的二進制文件
sync_binlog=1
#保持數據一致性,建議配置
innodb_flush_log_at_trx_commit=1
#開啟服務器二進制日志
log-bin=mysql-bin
#設置log格式
binlog_format=MIXED
#不記錄二進制數據庫的數據
binlog-ignore-db=test
2、從服務器Slave配置
#設置數據庫標識
server_id = 2
#設置不同步的數據庫
replicate-ignore-db=testDB
#設置不同步的數據表
replicate-ignore-table=testDB.testTable
給服務器設置授權賬戶
設置user賬戶能從10.10.0.1服務器登陸本機,且擁有所有權限
Mysql>grant all on *.* to user@10.10.0.1?indentified by ‘password’
(密碼必須有引號)
user賬戶只有備份權限
Mysql>grant replication slave on *.* to user@10.10.0.1 indentified by ‘password’
設置其他主機能使用root登陸數據庫
Mysql>GRANT ALL PRIVILEGES ON * . * TO 'root'@'%'IDENTIFIED BY ‘password’
使添加的賬號生效:FLUSH PRIVILEGES;
master服務器查看是否開啟二進制日志:show variables like '%bin';
master服務器查看二進制日志狀態:show mater status;
Flush logs; 增加一個最新的bin-log日志
Truncate? tables;?? 清空當前表中的所有數據
Reset master;清空所有的bin-log日志
slave服務器停止同步,輸入:stop slave;
slave服務器顯示同步狀態及設置:show slave status\G
數據庫同步
注意數據庫同步前,需要在Master數據庫鎖定當前數據庫,可保持數據一致性
鎖定:mysql>flushtables with read lock;
解鎖:mysql>unlocktables;
開啟同步:
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?? ,顯示如下參數
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
即同步設置成功 ?注意:部分服務器可能需要開啟3306端口,或關閉防火墻設置才可生效。
進入二進制日志目錄,輸入下面語句可查看二進制日志:
mysqlbinlog?--no-defaults? mysql-bin.000001 | more
若編譯安裝的Mysql,選擇mysql安裝目錄下執行Mysql/bin/mysqlbinlog
數據恢復
Mysql/bin/mysqlbinlog?--no-defaults? mysql-bin.000001 |mysql –u –root –p(password) (可選database)
Linux mysql數據庫備份
Mysqldump –uroot –p database –l –F ‘/home/backup.sql’
-l 指鎖定數據庫表。只能讀,不能寫。
-F 指flushlogs , 可以重新生產新的日志文件。包括log-bin日志
數據導入:mysql –uroot –p (可選database) -v –f? < /home/backup.sql
-v查看導入的詳細信息
-f 當中間遇到錯誤,可以skip,繼續執行下面語句
查看bin-log日志,可以根據Position或者根據時間段恢復
例如通過Bin-log日志恢復position段100到500 的數據:
1、先查看position段中日志,確實是否需要恢復
mysqlbinlog –no-defaults mysql-bin.000002 --start-position=”100”--stop-position=”500” |more
注意position100可能不會恢復。因為執行語句在Position日志之上。
--start-position和--stop-position可選擇一個執行。無需同時存在。
Btw:時間段恢復參數為:--stop-date= “2014-01-01 12:00:00” 、
--start-date = “2014-01-01 12:00:00”
總結
以上是生活随笔為你收集整理的mysql主节点数据恢复_Mysql 主从复制+数据恢复的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word python 域 操作_pyt
- 下一篇: python套接字socket的作用_【