mysql 從服務器同步設置_mysql主從同步配置

1.為什么要主從同步?

在Web應用系統中,數據庫性能是導致系統性能瓶頸最主要的原因之一。尤其是在大規模系統中,數據庫集群已經成為必備的配置之一。集群的好處主要有:查詢負載、數據庫復制備份等。其中Master負責寫操作的負載,也就是說一切寫的操作都在Master上進行,而讀的操作則分攤到Slave上進行。這樣一來的可以大大提高讀取的效率。寫操作涉及到鎖的問題,不管是行鎖還是表鎖還是塊鎖,都是比較降低系統執行效率的事情。我們這樣的分離是把寫操作集中在一個節點上,而讀操作其其他的N個節點上進行,從另一個方面有效的提高了讀的效率,保證了系統的高可用性。

2.mysql主從同步

我的要同步的兩臺mysql數據庫版本都是mysql5.7,兩臺電腦都在同一個網段之中。

①修改主數據庫my.ini/my.cnf配置:

Server-id = 1? //這是數據庫ID,此ID是唯一的,ID值不能重復,否則會同步出錯;

log-bin = mysql-bin //開啟binglog日志,二進制日志文件,此項為必填項,否則不能同步數據

binlog_format=mixed //二進制日志的格式,有三種:statement/row/mixed

binlog-do-db = testcreate? //需要同步的數據庫,如果還需要同步另外的數據庫,那么繼續逐條添加,如果 不寫,那么默認同步所有的數據庫;

binlog-ignore-db = mysql //不需要同步的數據庫;

修改完成之后重啟mysql服務。

MySQL 服務重啟

service mysqld restart

② 添加主數據庫用于同步的賬號:

給主數據庫授權一個可以進行復制的用戶,執行如下命令:

grant replication slave on *.* to?'slave'@'%'?identified by '123456';

dbd5d5c5134bf682ecbb3a4236662448.png

③顯示主數據庫的同步信息:

c60557d5f7780f1f525ae29d45d0dd74.png

可以看出已經產生了二進制的日志文件信息,mysql的同步就是通過這個二進制日志文件進行同步,主數據庫把對數據庫的操作的指令都記錄到該日志文件下,從數據庫通過讀取該文件,來對從數據庫中的數據進行修改,從而達到主從同步的效果。

④配置從數據庫的my.ini

從數據庫的話只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

⑤設置從數據庫鏈接到主數據庫

在mysql下執行stop slave;命令,停止slave服務;

mysql> change master to

-> master_host='192.168.1.189',

-> master_user='slave',

-> master_password='123456',

-> master_log_file='mysql-bin000014.000001',

-> master_port=3306,

-> master_log_pos=107;

注意:這里的master_log_file,master_log_pos的值要和master的值一致。否則會無法同步。

執行start slave;命令,啟動服務。

注意:在這里可能會無法鏈接到主數據庫,需要看主數據庫中my.ini中bind 127.0.0.1是否沒有被注釋,如果沒有,那么只能在本機登錄,而不能使用遠程登錄方式。

⑥驗證是否同步:

show slave status\G;

得到如下結果則說明同步成功。

ab429cf13f5693ae4dc9293ba58e6bce.png

Slave_IO_Running :從主服務器成功的bin-log日志同步并拿到數據

Slave_SQL_Running: 從服務器成功地執行SQL語句

上面兩項均為yes,說明配置成功。

從服務器相關命令

start slave; //啟動從服務器

stop slave; //停止從服務器

show slave status; //查看從服務器狀態

show master logs; //查看主服務器 bin-log 日志

change master to …… //動態改變到主服務配置

show processlist; //查看從服務器運行進程

主從數據不一致

第一種方法

stop slave;set global sql_slave_skip_counter=1; //跳過一步錯誤

start slave;

第二種方法:

stop slave;

show master status;//查看主服務器bin-log日志

change master to…… //手動同步 ,指定日志文件和文件位置 master-log-file="mysql-bin.00001" master-log-pos=20

重啟從服務器,查看?show slave status\G,Slave_IO_Running、Slave_SQL_Running 都為 YES,同步成功。

注意:第一次同步時需要主從庫數據一樣

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393530.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

int、long、long long取值范圍

short int 1個字節儲存 unsigned short int 0~255short int -128~127 int 2個字節儲存 unsigned int 0~4294967295 int 2147483648~2147483647 long 4個字節儲存 unsigned long 0~4294967295long 21…

每天一個LINUX命令(pwd)

每天一個LINUX命令(pwd) 基本信息 pwd: /bin/pwd,顯示當前路徑的絕對路徑 語法:pwd 應用程序位置 which pwd PWD作用 pwd --help或者man pwd PWD的使用 pwd 轉載于:https://www.cnblogs.com/shanshanliu/p/6542403.html

leetcode69. x 的平方根(二分法)

實現 int sqrt(int x) 函數。 計算并返回 x 的平方根,其中 x 是非負整數。 由于返回類型是整數,結果只保留整數的部分,小數部分將被舍去。 示例 1: 輸入: 4 輸出: 2 代碼 class Solution {public int mySqrt(int x) {int l0,rx;while (…

一個swiper 兩個分頁器的寫法【總結】

寫項目的時候&#xff0c;使用的是swiper插件呈現的效果是一個swiper要實現兩個分頁器&#xff0c;下面就來總結一下 以swiper3為例來寫&#xff0c;在頁面中引入jquery、swiper.min.js和swiper.min.css文件。 HTML結構&#xff1a; <div class"banner swiper-containe…

react路由守衛+重定向_React + Apollo:如何在重新查詢后進行重定向

react路由守衛重定向by Jun Hyuk Kim金俊赫 React Apollo&#xff1a;如何在重新查詢后進行重定向 (React Apollo: How to Redirect after Refetching a Query) GraphQL is hot, and for a good reason. In short, it is a query language that allows you to ask for exact…

python 爬蟲可視化編程_Python爬蟲爬取博客實現可視化過程解析

源碼&#xff1a;from pyecharts import Barimport reimport requestsnum0b[]for i in range(1,11):linkhttps://www.cnblogs.com/echoDetected/default.html?pagestr(i)headers{user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko…

tp6常用命令

TP6常用命令 1.創建控制器 php think make:controller --plain index** (php think make:controller --plain 控制器名稱&#xff08;首字母大寫&#xff09;)2.創建模型 php think make:model 【模塊名】/模型名 模型名為表名相當3.創建中間件 php think make:middleware 中…

Problem B: 字符類的封裝

Description 先來個簡單習題&#xff0c;練練手吧&#xff01;現在需要你來編寫一個Character類&#xff0c;將char這一基本數據類型進行封裝。該類中需要有如下成員函數&#xff1a; 1. 無參構造函數。 2. 構造函數Character(char)&#xff1a;用參數初始化數據成員。 3. void…

leetcode852. 山脈數組的峰頂索引(二分法)

我們把符合下列屬性的數組 A 稱作山脈&#xff1a; A.length > 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < … A[i-1] < A[i] > A[i1] > … > A[A.length - 1] 給定一個確定為山脈的數組&#xff0c;返回任何滿足 A[0] < A[1] < … A[i…

linux 一鍵安裝lnmp

運行下面這天命令&#xff0c;回車 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp 選擇數據庫版本&#xff0c;回車 設置MySQL的root密碼&#xff08;為了安全不…

圖標下載

個人認為非常好的一個網站&#xff1a; http://www.easyicon.net/

以太坊ipfs_動手:Infura和以太坊上的IPFS入門

以太坊ipfsby Niharika Singh由Niharika Singh 動手&#xff1a;Infura和以太坊上的IPFS入門 (Hands On: Get Started With Infura and the IPFS on Ethereum) 為什么選擇Infura&#xff1f; (Why Infura?) There are a lot of pain points being faced by blockchain which …

suse required-start: mysql_suse linux 安裝MySql步驟

今天下午終于把mysql搞定了&#xff0c;我安裝的這個linux版本(suselinux10.0)自己帶的有Mysql&#xff0c;但是&#xff0c;在網上查的版本要比這高&#xff0c;所以就上網找了一個然后自己裝&#xff0c;但是從來沒有接觸過MySql也不知道該怎么裝&#xff0c;于是就上網找&am…

PHP上傳文件到七牛云和阿里云

七牛云上傳 注冊七牛云賬號并認證 進入控制臺找到對象存儲添加一個新的倉庫 添加完成之后看文檔 安裝 使用 Composer 安裝 Composer是 PHP 依賴管理工具。你可以在自己的項目中聲明所依賴的外部工具庫&#xff0c;Composer 會自動幫你安裝這些依賴的庫文件。 ???1. 安裝…

變態青蛙跳

2019獨角獸企業重金招聘Python工程師標準>>> 題目描述 一只青蛙一次可以跳上1級臺階&#xff0c;也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。 相比普通青蛙跳&#xff0c;這個 n級的就有點難了&#xff0c;重點是 能跳n級&…

中間的數(若已經排好序)

描述&#xff1a; 奇數個&#xff0c;輸出中間那個 偶數個&#xff0c;輸出中間那倆 代碼&#xff1a; #include<iostream>using namespace std;int main(){ int *a; int n; cin>>n; anew int[n]; for(int i0; i<n; i) cin>>a[i]; …

leetcode1237. 找出給定方程的正整數解(二分法)

給出一個函數 f(x, y) 和一個目標結果 z&#xff0c;請你計算方程 f(x,y) z 所有可能的正整數 數對 x 和 y。 給定函數是嚴格單調的&#xff0c;也就是說&#xff1a; f(x, y) < f(x 1, y) f(x, y) < f(x, y 1) 函數接口定義如下&#xff1a; interface CustomFunc…

數據庫 測試數據生成_我們的測試數據生成器如何使假數據看起來真實

數據庫 測試數據生成by Tom Winter湯姆溫特(Tom Winter) 我們的測試數據生成器如何使假數據看起來真實 (How our test data generator makes fake data look real) We recently released DataFairy, a free tool that generates test data. But first, let me tell you the st…

tp框架生命周期

1、入口文件 用戶發起的請求都會經過應用的入口文件&#xff0c;通常是 public/index.php文件。當然&#xff0c;你也可以更改或者增加新的入口文件。 通常入口文件的代碼都比較簡單&#xff0c;一個普通的入口文件代碼如下&#xff1a; // 應用入口文件 // 定義項目路徑 d…

django 創建mysql失敗_創建表時出現Django MySQL錯誤

我正在用MySQL數據庫構建一個django應用程序。當我第一次運行“python manage.py migrate”時&#xff0c;一些表創建得很好&#xff0c;然后出現一些錯誤。出現的錯誤是&#xff1a;django.db.utils.IntegrityError: (1215, Cannot add foreign keyconstraint)當我運行這個MyS…