1. 程式人生 > >LNMPMySQL資料庫主從同步

LNMPMySQL資料庫主從同步

這篇文章主要是一種記錄,參考網路上很多技術文章操作的一個過程,我自己在使用中貌似也遇到一些問題,但是為了避免日後遺忘還是決定溫習下這個過程。文章是在兩臺美國VPS已安裝軍哥LNMP一鍵包的環境下操作的。MySQL資料庫主從同步的優點很多,對我這種膚淺的人來說最有用的是當做備份吧。

準備工作

本例採用的兩臺VPS主機均為CentOS系統,LNMP環境

主伺服器:209.148.95.*   MySQL5.5.42

從伺服器:192.227.240.*   MySQL5.5.42

***如何檢視MySQL版本:mysql –version***

注意:主伺服器的MySQL版本不要比從伺服器版本更高,可以相同或者低於從伺服器。

配置MySQL主伺服器

因為本例我採用的兩臺主機都已經安裝了LNMP一鍵包,所以MySQL都是裝好了的,還有PhpMyadmin可以管理資料庫,所以就略過了安裝過程,後面的有些操作也直接在PhpMyadmin里加。

先在主伺服器建立資料庫,新增使用者,我直接在PhpMyadmin操作,視覺化!

mysql_01

如上圖,我添加了一個名為zhaorong的資料庫。然後新增使用者,我也設定使用者名稱為zhaorong,並賦予他對資料庫zhaorong的全部許可權。

mysql_02

注意上面設定的資料庫名稱和使用者名稱稱是可以任意設定的,這裡方便記我直接設為一樣了。

接下來我們在主伺服器上為資料庫zhaorong建立一個從同步使用者,設定密碼。

mysql_03

上圖建立了一個使用者zhaorong_c,並指定只能從從伺服器IP來訪問,注意下面的許可權,只有備份許可權。

mysql_04

接下來我們將主伺服器中的資料庫匯出到從伺服器中,ssh登陸到主伺服器執行。

mysqldump -uroot -p**** –default-character-set=utf8 –opt -Q -R –skip-lock-tables zhaorong > /home/zr.sql

上面的***是MySQL資料庫root密碼(skip前面2個-)。

將備份資料庫傳入從伺服器,這裡我也放入home目錄。

scp /home/zr.sql [email protected]*:/home

之後我們轉到從伺服器設定。

配置MySQL從伺服器

先匯入之前主伺服器傳入的資料庫。

mysql_05

上圖的命令依次為:

mysql –uroot –p*****      #登陸資料庫

create database zhaorong;      #建立資料庫zhaorong

use zhaorong   #進入資料庫

source /home/zr.sql   #匯入備份到資料庫

然後我們試試在從伺服器中登陸到主伺服器:

mysql -uzhaorong_c -h 192.227.240.* -p*****

mysql_06

極有可能連不上,就如我上圖中第一次連結的情況,遇到這種問題可以到主伺服器把iptables關閉試試。

配置MySQL主從伺服器的my.cnf

先來配置主伺服器的my.cnf檔案,lnmp的my.cnf在/etc/my.cnf

vi /etc/my.cnf       #編輯

server-id=1     #這行本身有

log-bin=mysql-bin    #這行本身有

binlog-do-db=zhaorong    #加入,需同步的資料庫

binlog-ignore-db=mysql    #不同步MySQL系統資料庫

儲存,退出。

service mysql restart   #重啟資料庫

mysql -uroot -p****     #進入MySQL資料庫控制檯

mysql> show variables like ‘server_id’;     #檢視server-id值是不是1

mysql> show master status;     #檢視主伺服器資訊

上面兩行我還是用截圖來表達:

mysql_07

上圖中的mysql-bin.000006和107記錄下來,後面需用。

然後我們配置從伺服器的my.cnf檔案。

vi /etc/my.cnf    #一樣的,編輯檔案

server-id=2    #預設是1改成2

log-bin=mysql-bin    #這行本身有

replicate-do-db=zhaorong    #需要同步的資料庫

replicate-ignore-db=mysql    #不同步系統資料庫

read_only     #設只讀許可權

儲存,退出。

service mysql restart   #重啟資料庫

mysql -uroot -p****     #進入MySQL資料庫控制檯

mysql> show variables like ‘server_id’;     #檢視server-id是2了

mysql>slave stop;     #停止從伺服器同步程序

mysql>change master to master_host=’209.148.95.*’,master_user=’zhaorong_c’,master_password=’***’,master_log_file=’mysql-bin.000006′ ,master_log_pos=107;      #這一行比較長,注意那個mysql-bin.000006和107就是之前記錄下來的

###

備註:注意 命令的格式錯誤

參考如下:

change master to master_host='192.168.56.100',master_user='haoxiaoyu',master_password='123456',master_log_file='mysql-bin.000093' ,master_log_pos=107;

###

mysql>slave start;     #啟動同步程序

mysql>SHOW SLAVE STATUS\G      #檢視從伺服器同步資訊

mysql_08

如上圖,看到我紅框中兩行都是Yes就OK了。

之後,我們可以測試下,在主伺服器建立一個表,然後登陸從伺服器資料庫檢視是否同步建立了這張表。

相關推薦

LNMPMySQL資料庫主從同步

這篇文章主要是一種記錄,參考網路上很多技術文章操作的一個過程,我自己在使用中貌似也遇到一些問題,但是為了避免日後遺忘還是決定溫習下這個過程。文章是在兩臺美國VPS已安裝軍哥LNMP一鍵包的環境下操作的。MySQL資料庫主從同步的優點很多,對我這種膚淺的人來說最有用的是當做備份

linux配置 資料庫主從同步

資料庫的讀寫分離能很大程度上減輕資料庫的壓力,讀寫分離的前提就是主從資料同步,然後在主庫做增刪改,從庫做查詢。 例如: 主庫:192.168.0.1 從庫:192.168.0.2 兩個資料庫都安裝了Mysql資料庫,保證允許遠端連線 主資料庫配置 1.修改mysql配置檔案 /etc/my.cnf

高併發架構系列:資料庫主從同步的3種一致性方案實現,及優劣比較

在高併發場景下,資料主從同步是必然的方式,除了資料庫主從同步外,還會涉及到分散式環境下的資料同步(文末有介紹~)。 今天分享資料庫主從同步解決方案。 資料主從同步的由來 網際網路的很多業務,特別是在高併發的場景下,基本都是讀遠遠大於寫,如果資料庫讀和寫的壓力都同在一臺主機上,這顯然不太合理。

Linux下MySQL資料庫主從同步配置

Linux下MySQL資料庫主從同步配置 一.配置mysql主資料庫#172.30.65.122 mysql -u root-p#進入控制檯 create databasecesudb#建立資料庫測速db insert intomysql.user(Host,User,Pa

MySQL資料庫主從同步延遲分析及解決方案

一、MySQL的資料庫主從複製原理 1.主庫對所有DDL和DML產生的日誌寫進binlog; 2.主庫生成一個 log dump 執行緒,用來給從庫I/O執行緒讀取binlog; 3.從庫的I/O 

資料庫主從同步延遲導致坑

背景: 線上出現了使用者註冊了多條重複記錄 排查問題: 第一種一開始懷疑是不是併發問題造成,後來查了大多數都是隔了幾秒鐘,併發出現概率小 第二種就是看出現重複資料的時間,然後線上看到從庫出現了延遲複製的問題,這就問題出現的關鍵 原來程式碼邏輯

Redis快取維護方案-考慮資料庫與快取雙寫、redis和本地資料庫事務一致性、資料庫主從同步延遲的情況怎麼解決快取與資料庫不一致

一般常用的快取方案有兩種: 第一種 讀的時候,先讀快取,快取沒有的話,讀資料庫,取出資料後放入快取,同時返回響應。 更新的時候,

MySQL資料庫主從同步

一、主從同步的原因      為了減輕伺服器處理海量併發訪問所產生的效能問題,其中最主流的方案之一就是讀寫分離。 二、MySQL主從同步流程圖                   &nb

搭建 mariadb 資料庫主從同步

# 一、主(master)資料庫配置 ## 1. my.cnf 新增配置 ```bash [mariadb] log-bin server_id=1 log-basename=master1 binlog-format=mixed max_binlog_size=200M expire_logs_days

Linux資料庫管理——day13——Redis的主從同步、資料格式

主從同步     原理:從庫向主庫傳送同步請求(sync),接收到後啟動一個程式進行後臺儲存,然後把儲存的rdb檔案發給從庫,然後從庫讀取檔案實現同步,之後主庫每進行一次寫操作就會啟動一個程式,把修改命令發給從庫,實現實時同步     配置: &nbs

實現兩個MySQL資料庫之間的主從同步_資料庫技術

www.syncnavigator.cn SyncNavigator 資料酷同步工具 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不

資料庫讀寫分離,主從同步實現方法

SyncNavigator 資料酷同步工具 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫是sq

資料庫讀寫分離,主從同步實現方法

前言 眾所周知,隨著使用者量的增多,資料庫操作往往會成為一個系統的瓶頸所在,而且一般的系統“讀”的壓力遠遠大於“寫”,因此我們可以通過實現資料庫的讀寫分離來提高系統的效能。 實現思路 通過設定主從資料庫實現讀寫分離,主資料庫負責“寫操作”,從資料庫負責

MySQL5.6 資料庫主從(Master/Slave)同步安裝與配置詳解

安裝環境 作業系統 :CentOS 6.5 資料庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.1.2 (Slave) 這裡強調的資料庫的版本,是因為MySQL在5.6之前和之後的安裝方式是不

為我的部落格網站資料庫使用Docker實現MySQL主從同步

前言 個人部落格使用了阿里雲的伺服器,此文是筆者實現WordPress+Docker+MySQL主從同步架構的記錄。 環境 Docker version 1.13.1 LNMP: - 阿里雲centos 7.3 - nginx version: ng

Zabbix 檢測Mysql資料庫主從同步

在高併發網站架構中,MySQL資料庫主從同步是不可或缺的,不過經常會發生由於網路原因或者操作錯誤,MySQL主從經常會出現不同步的情況,那麼如何監控MySQL主從同步,也變成檢測網站正常執行的重要環節。 MySQL同步功能由3個執行緒(master上1個,slave上2個

MySQL5.6 (5.7)資料庫主從(Master/Slave)同步安裝與配置詳解

安裝環境 作業系統 :CentOS 6.5 資料庫版本:MySQL 5.6.27 主機A:192.168.1.1 (Master) 主機B:192.168.1.2 (Slave) 這裡強調的資料庫的版本,是因為MySQL在5.6之前和之後的安裝方式是不一樣的。 本人

MySQL資料庫主從(主主)同步配置

作者:dante一、系統環境:centos7.4 (centos 1708)mysql 5.7master主機的IP地址為192.168.159.50slave主機的IP地址為192.168.159.51Master主機的同步使用者名稱和密碼:slave/[email

MySQL資料庫設定主從同步

MySQL主從同步是目前使用比較廣泛的資料庫架構,技術比較成熟,配置也不復雜,特別是對於負載比較大的網站,主從同步能夠有效緩解資料庫讀寫的壓力。 1 MySQL主從同

兩個Mysql資料庫主從庫單向同步

鄙人一個技術菜鳥,但是也有一個渴望成功夢想,所以想在新的一年裡,在技術方面有所提升,閒暇之餘,我將寫點部落格,對自己學到的東東加以鞏固,但技術功底有限,內容可能比較膚淺…… 很久之前安排給我同一個戰壕的同事讓搞一個mysql主從庫備份的,但是遺憾的是都2