1. 程式人生 > >mysql 主備配置

mysql 主備配置

1、準備:    

主機:

    master    192.168.40.129

    slave        192.168.40.130

mysql版本    mysql5.7

mysql啟動    service mysqld start

防火牆關閉    service iptables stop

2、修改配置     /etc/my.cnf

分別修改兩個主機的配置

vi /etc/my.cnf

#master主機

bind-address=192.168.40.129
log-bin=mysql-bin

server_id=1

#slave主機

bind-address=192.168.40.130
log-bin=mysql-bin
server_id=2

3、建立slave的授權登入賬戶git

mysql> create user 'git'@'192.168.40.130' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql>  grant replication slave on *.* to 'test'@'192.168.40.130';  
Query OK, 0 rows affected (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed
mysql>

select user,host from user;
+---------------+-----------------+
| user          | host            |
+---------------+-----------------+
| git           | 192.168.*.*     |
| git           | 192.168.100.107 |
| git           | 192.168.40.130  |
| test          | 192.168.40.130  |
| git           | localhost       |
| mysql.session | localhost       |
| mysql.sys     | localhost       |
| root          | localhost       |
+---------------+-----------------+
8 rows in set (0.00 sec)

mysql> show master status;      
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 |      620 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

4、退出mysql,將mysql中資料匯出

mysql> exit
Bye
[[email protected] ~]# cd /home/
[[email protected] home]# mysqldump -u root -p --all-databases --master-data > git.sql

Enter password:

[[email protected] home]# ls
account  git.sql        init.sql  res.txt  test.tar
cdr      git.sql123456  log       s        val.txt

5、將匯出的.sql指令碼傳到slave主機上

[[email protected] home]# scp git.sql [email protected]:/home/
[email protected]'s password: 
git.sql                                       100%  785KB 784.9KB/s   00:00 

6、進入slave主機,使用該指令碼初始化mysql

[[email protected] home]# mysql -uroot -p < git.sql 

7、啟動mysql,建立master和slave的聯絡

輸入master ip、使用者名稱,密碼、file值、Position值,(後兩項在前面使用show master status查到,我有標記顏色)

配置

mysql> change master to

    -> master_host='192.168.40.130',
    -> master_user='git',
    ->  master_password='123456',
    -> master_log_file='mysql-bin.000004',
    -> master_log_pos=620;

啟動

mysql> start slave;

檢視(兩個Running都是yes,說明配置成功,否則失敗,需要查詢失敗原因並改正)

mysql> show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.40.129
                  Master_User: test
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 620
               Relay_Log_File: minion-two-relay-bin.000005
                Relay_Log_Pos: 833
        Relay_Master_Log_File: mysql-bin.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

如果配置失敗,再次配置 change master to......這一步時,會提示

ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

這時需要先關閉主備聯絡:    mysql> stop slave;

之後在配置就可以了

相關推薦

mysql 配置

1、準備:    主機:    master    192.168.40.129    slave        192.168.40.130mysql版本    mysql5.7mysql啟動    service mysqld start防火牆關閉    service

MySQL備份與配置

MySQL備份與主備配置 資料備份型別 全量備份:備份整個資料庫 增量備份:備份自上一次備份以來(增量或完全)以來變化的資料 差異備份:備份自上一次完全備份以來變化的資料 全量備份 全量備份的方法有 2 種,一種是利用資料庫管理工具提供的備份恢復和匯入匯出功能。例如:如果使用 Navica

LVS+Keepalived+Mysql+數據庫架構

pos extra top k with 定義 compiler probe http 不一致 這是一個坑...磨了不少時間。見證自己功力有待提升。。。 架構圖 數據庫 1.安裝數據庫 這塊不難, 直接引用: mysql安裝 2.數據庫主備 這塊不難

keepalived + lvs + nginx 配置案例

keepalived lvs nginx一、keepalived lvs 集群1、結構2、主備修改內核參數net.ipv4.ip_forward = 1net.ipv4.ip_nonlocal_bind = 1net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.a

keepalived nginx 配置

text vim image chm 服務安裝 nginx inf conf 服務器 keepalived nginx 主備配置(多主多備同理) 1.Nginx服務安裝   nginx 不區分主備,在兩臺服務上安裝兩個即可。   安裝參考:https://www.cnbl

mysql之 誤用SECONDS_BEHIND_MASTER衡量MYSQL的延遲時間

連結:http://www.woqutech.com/?p=1116   MySQL 本身通過 show slave status 提供了 Seconds_Behind_Master ,用於衡量主備之間的複製

mysql環境搭建

#主機配置: service mysqld stop #配置my.cnf: vim /etc/my.cnf log-bin=mysql-bin-master #啟用二進位制日誌 server-id = 1 #本機資料庫ID 標示 binlog-do-db=sdg

nginx負載均衡及配置

先負載均衡 nginx的負載均衡有4種模式: 1)、輪詢(預設)       每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 2)、weight       指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情

MySQL複製原理、實現及異常處理

複製概述 MySQL支援三種複製方式:基於行(Row)的複製、基於語句(Statement)的複製和混合型別(Mixed)的複製。 基於語句的複製早在3.23版本中就存在,而基於行的複製方式在5.1版本中才被加進來。這兩種方式都是通過在主庫上記錄二進位制日誌

keepalived雙網絡卡配置高可用步驟。

keepalived+lvsNAT實現高可用負載整理: 主備都需要開啟ip轉發功能,不然執行不起來。 vi /etc/sysctl.conf   set net.ipv4.ip_forward = 1 之後service network restart重啟網路。 MAST

mysql搭建

mysql主備(master-slave)搭建 環境:mysql5.7.21(master),mysql5.7.20(slave) ===========================master server===================

mysql複製搭建

這裡我使用單臺伺服器上的兩個mysql例項進行搭建,主要用到了mysql自帶的mysqld_multi 一、複製原理 開始搭建前有個mysql複製原理的基礎知識需要補充: mysql進行主備複製使用到了三個執行緒: 1.主庫上的轉儲存執行緒:     會將mysql se

mysql模式的讀寫分離與主從複製

從資料庫層面上對負載做優化的方法各式各樣。從書上看到分表分庫等常見手段,後來學習別人部落格才明白分表分庫各自天生缺點使他無法成為主流而並沒有那麼多人用,正好畢業設計想嘗試一下主從的架構,所以這裡一邊搭建一邊做記錄。 目錄: 1.介紹 2.應用層面實現mysql讀寫分離

MySQL模式的資料一致性解決方案

  根據阿里交易型業務的特點,以及在雙十一這樣業內罕有的需求推動下,我們在官方的MySQL基礎上增加了非常多實用的功能、效能補丁。

mysql切換canal出現的問題解析

通過配置VIP,在進行主備切換時,出現的報錯資訊: 1.當主備節點當前binlog檔名稱相同時,原主節點的position小於主備切換後的position,出現如下報錯: 2020-07-02 15:08:09,332 INFO [destination = 1-236 , address = /192.1

mysql主從()同步一鍵配置,配自動檢測功能

主從一鍵shell配置 做個筆記。 #!/bin/bash #Mysql sync #chenglee #master機器ip MasterIP="192.168.137.174" #slave機器ip SlaveIp="192.168.137.170" #主從同步賬號密碼 MAST

Mysql叢集的HA原理及配置指南之模式(一)

最近手頭上專案很多,所以部落格這邊耽誤了2個月實在抱歉。 先說說最近搭專案的感受吧: 給一家做網際網路金融的集團公司上私有云,方案用的都是主流的HA高可用方案,沒有什麼特別的,第一期是十臺伺服器(7臺計算節點),現在部署了線上服務的虛擬機器差不多接近60臺,總體來說比較穩定

MySQL建立雙向複製伺服器配置方法

1、環境描述  伺服器A(主) 192.85.1.175   伺服器B(從) 192.85.1.176  Mysql版本:5.1.61        系統版本:System OS:ubuntu 10.10 X86 (系統安裝及資料環境搭建,省略) 2. 建立同步使用者: 在

CentOS下MYSQL資料庫的配置

       關於MYSQL資料庫的主主備份和主從備份,查詢了很多資料,根據大牛們的資料配置了好幾遍,終於在自己的環境中配置起來了。先前沒有配置起來的原因可能是大家的配置環境不一樣造成的,所以網上有很多資料,雖然有些大同小異,但是配置不起來。MYSQL支援單向、非同步複製,

Nginx+Keepalived 高可用 安裝與配置

wget 環境 erb 服務 work complete status ppr sql 環境說明:操作系統:CentOS6.7 x86_64Nginx版本:nginx-1.9.7Keepalived版本:keepalived-1.2.24 主nginx + Keepaliv