日韩精品中文字幕一区二区-日韩精品中文字幕一区-日韩精品中文字幕视频-日韩精品在线一区二区三区-第一页在线-第一福利视频

東坡下載:內容最豐富最安全的下載站!

首頁IT技術服務器 → 線上mysql數據庫不停機的環境下,如何添加新的從機

線上mysql數據庫不停機的環境下,如何添加新的從機

相關文章發表評論 來源:本站原創時間:2014/2/23 0:19:20字體大小:A-A+

更多

作者:不詳點擊:1264次評論:0次標簽: MySQL

    在工作中,主從環境搭的多了,但是,基本上都是在DB SERVER停機(游戲公司)的情況下搭建的,今天突然被一技術官問,如何在線添加主從,回答的大概思路,但是沒有實踐過,下面,我就測試一下。各位也可以先想想自己的思路:mysql 5.1版本,二進制日志文件(時間長了,有些二進制日志定期清除了),pos號

      注:在mysql 5.6版本中,已經有基于GTID的主從復制(即:不需要知道日志文件和position號),只需還原最新的備份就可實現,這里只討論mysql 5.1
一.目前的基本環境:
 主DB:192.168.1.101
 從DB1:192.168.1.102
 從DB2:192.168.1.103(準備在線添加做為從機的mysql數據庫)
 數據庫版本:mysql 5.1.61(select  version())
 服務器版本:red hat linux 6
       注:目前主從正常(show slave status\G),同步的數據庫為 login
              3臺DB server的備份軟件(xtrbackup)都已經安裝完成
              同步的表為innodb引擎的表,不然用xtrabackup還是會鎖表
  假設環境為:現在login庫下的表a,備份的時候插入數據,最終行為5418272
       注:思路是備份,可是用mysqldump備份會鎖表,如果數據量很大的話,線上環境肯定不允許使用mysqldump備份
              所以,我們采用的xtrabackup來進行在線熱備,至于,它的原理,請各位自行google
二.部署實例:
1.主DB,線上數據正常寫入的同時我實施備份
1
2
3
4
mysql> insert into a select * from a;
[root@client101 backup]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306  --database=login /tmp/backup/ >/tmp/backup/innoback.log 2>&1
# 備份完成后,可以查看備份文件目錄下, xtrabackup_binlog_info  此文件會記錄主上的日志和position號
[root@client101 2014-02-22_07-43-36]# cat xtrabackup_binlog_info

2.將備份文件壓縮,并傳送到從DB2(192.168.1.103)上,用于在上面進行還原

1
2
[root@client101 backup]# tar zcvf login.tar  2014-02-22_07-43-36
[root@client101 backup]# scp login.tar  192.168.1.103:/tmp/
3.從DB2上,解壓剛才的備份,并用于恢復
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@client103 tmp]# tar -xf login.tar
# 應用日志,保證數據一致
[root@client103 tmp]# innobackupex --apply-log /tmp/2014-02-22_07-43-36/
# 停mysql
[root@client103 mysql]# /etc/init.d/mysqld stop
# mysql數據目錄下的所有文件移到/tmp/mysqlbackup/下,不然,恢復有問題
# [這里建議只復制數據文件,不建議復制(日志,索引,innodb共享表空間,innodb日志文件,慢日志等)]
[root@client103 mysql]# mv /var/lib/mysql/*  /tmp/mysqlback
# 恢復數據
[root@client103 mysql]# innobackupex --copy-back /tmp/2014-02-22_07-43-36/
# 將原數據庫的內容復制mysql數據目錄(這里就是我認為這個軟件不好的地方,大家也可以給點建議)
[root@client103 mysqlback]# mv /tmp/mysqlbac k/* /var/lib/mysql/
# 將數據目錄的權限修改為mysql權限
[root@client103 mysql]# chown mysql. /var/lib/mysql/
# 啟動數據庫
[root@client103 mysql]# /etc/init.d/mysqld start
# 驗證數據的一致性:5418272(主上的行)
mysql> select count(*) from a;
+----------+
| count(*) |
+----------+
|  5418272 |
+----------+
4.將從DB2的主機指向主DB1
1
2
3
4
5
6
7
8
9
10
11
12
13
# 剛才回復后,會有個文件:xtrabackup_binlog_pos_innodb --> 此文件記錄了備份時日志文件和pos號
[root@client103 mysql]# cat xtrabackup_binlog_pos_innodb
/var/lib/mysql/mysql-101-bin.000008     2423
# 建立主從關系
mysql> change master to master_host='192.168.1.101',
    -> master_user='slave',
    -> master_password='slave',
    -> master_log_file='mysql-101-bin.000008',
    -> master_log_pos=2423;
# 開啟同步
mysql> start slave;
# 查看同步狀態
mysql> show slave status\G;
5.此時如果都為yes,則主從則建立完畢!大家可自行測試
注:
    還有一種方式在線添加主從,即原本的從機只做冗余,可以在從機暫時停止主從,
    然后,在從機上執行備份,看當前從機上,日志執行到哪個文件,哪個位置(master的日志文件和pos號)
  • mysql數據庫管理工具
mysql數據庫管理工具
(6)mysql數據庫管理工具

mysql數據庫管理工具是可以幫助很多的在使用mysql數據庫的人員更好的管理你的mysql數據庫,這里面有你需要的mysql數據庫備份工具以及mysql數據庫連接工具,還有mysql數據庫導出工具等,各種各樣的實用工具都是可以方便你的下載以及使用的!

...更多>>

擴展知識

相關評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)

本類常用軟件

主站蜘蛛池模板: 青春之歌电影演员表名单| asshole| 番金连| 宇宙刑事卡邦| 常景如| 二年级100个词语| 18岁在线观看| 九号所有车型图片| 重回蓝色珊瑚礁| 大场久美子| 土壤动植物的乐园教学反思| 性视频网站在线| 伴生活| 妈妈妈三| 韧战作文800字初中| 美女被吃| 女同性视频| 宁波电视台| 诗第十二主要内容| 托比·琼斯| 11.27| 朱嘉琛| 曹永廉| 开创盛世| 少爷爱上保镖泰剧双男主| 日本大片ppt免费ppt网页版| 操老女人视频| 不离不弃 电视剧| 《如此婚姻》大结局| 暗夜深海电视剧免费观看| 林栋浦| 十万个冷笑话第二季| 澳门风云2演员表| 1992年台湾叫冬梅的电影| 巫山历险记| 稻草狗在线观看| 黄视频在线网站| 法格| 在灿烂的阳光下简谱| 天天影视网色| 女王眼泪|