1. 程式人生 > >Mysql單機多例項及主從備份設定

Mysql單機多例項及主從備份設定

準備Slave資料庫

  1. 新建目錄,如:mysql3307,做為Slave資料庫的目錄。
  2. 複製Master Mysql目錄下的share目錄到mysql3307下。
  3. 在mysql3307目錄下建立data目錄,並複製Master Mysql的data下的mysql資料夾和test資料夾到mysql3307\data下。
  4. 複製Master Mysql目錄下的my.ini到mysql3307下。

修改Master庫的my.ini

修改Master Mysql目錄下的my.ini檔案。

找到[mysqld],新增如下內容:

log-bin=mysql-bin
server-id=1
#binlog
-do-db=test #binlog-ignore-db=mysql

建立備份賬戶

在Master庫中建立有同步許可權的使用者:backup,密碼:backup。

mysql>grant replication slave on *.* to [email protected]'localhost' identified by 'backup';
mysql>flush privileges;

修改Slave庫的my.ini

修改mysql3307目錄下的my.ini檔案。

  1. 找到[client]下的port=3306,修改為:port=3307
  2. 找到[mysqld]下的port=3306,修改為:port=3307
  3. 新增如下內容:
log-bin=mysql-bin
#server-id的值要大於Master中mysql/my.ini中的id值
server-id=10
#mysql中的使用者名稱
master-user=backup
#mysql中的密碼
master-pass=backup
#mysql的埠號
master-port=3306
master-connect-retry=60
#要複製的資料庫
replicate-do-db=test

將Slave配置為服務

命令列下執行:

mysqld -install
mysql3307 --defaults-file="f:\mysql3307\my.ini"

注意:如果引數錯誤,此時不會有提示,但是在啟動服務時,提示1607錯誤。

配置成功後,在window的服務中會看到相應的服務,服務名為:mysql3307。

PS
1. 刪除Mysql服務:mysqld -remove mysql3307。
2. 啟動Mysql服務:net start mysql3307
3. 停止Mysql服務:net stop mysql3307

查詢Master資料庫的狀態

這裡需要記錄File和Position的值。

mysql>show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |       98 |              |                  |
+------------------+----------+--------------+------------------+

設定Slave資料庫

啟動並登入Slave資料庫

net start mysql3307
mysql -uroot -p -P3307

mysql命令中的引數:-P3307是指3307埠,-P必須大寫。

輸入Slave密碼(因為是複製的Master資料庫,所以密碼和Master資料庫相同),登入資料庫。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+

看到mysql和test,說明是在mysql3307資料庫例項中。

繼續執行:

mysql>slave stop;
mysql>change master to
->master_host='127.0.0.1',
->master_user='backup',
->master_password='backup',
->master_log_file='mysql-bin.000001',
->master_log_pos=98;

注意:
1. master_log_pos的值不要加引號。
2. master_host一定要寫IP地址。

繼續執行:

mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;  
mysql>slave start;
mysql>show slave status \G;

set GLOBAL SQL_SLAVE_SKIP_COUNTER=1,是指當Slave複製出錯時,跳過錯誤。

如果查詢結果顯示如下內容,說明配置成功。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test

主從資料庫測試

可在Master資料庫test中建立表,新增記錄,在Slave資料庫中可查詢到新增的記錄。

相關推薦

Mysql單機例項主從備份設定

準備Slave資料庫 新建目錄,如:mysql3307,做為Slave資料庫的目錄。 複製Master Mysql目錄下的share目錄到mysql3307下。 在mysql3307目錄下建立data目錄,並複製Master Mysql的data下的mysq

MySQL配置主主主從備份

MySQL主從備份配置例項 場景: 1、主伺服器192.168.0.225、從伺服器192.168.0.226。其中,主伺服器上已有資料。 2、主從伺服器上的mysql版本及安裝配置相同。 一、主從備份的原理: 主伺服器資料庫的每次操作都會記錄在二進位制

mysql 5.7 for win 7 主從搭建 -單機例項

mysql 5.7 for win 7 單機版安裝可以參考 http://blog.csdn.net/wangzizhzxy/article/details/78203858 單機多例項安裝和單機單例項稍有不同 ###############################

MySQL 使用mysqld_multi部署單機例項詳細過程

序言:多例項?Why?隨著硬體層面的發展,linux系統多核已經是普通趨勢,而mysql是單程序多執行緒,所以先天上對多程序的利用不是很高,雖然5.6版本已經在這方面改進很多,但是也沒有達到100%,所以為了充分的利用系統資源,mysql有自己的補充,那就是可以部署多例項,一

MySQL主從備份設定

功能需求 外網伺服器,有獨立IP;內網伺服器,無獨立IP;外網伺服器的MYSQL資料庫實時更新,並要求同步到內網伺服器中。 該需求可使用MYSQL的主從備份實現,其中外網伺服器為主伺服器(Master),內網伺服器為從伺服器(Slave)。 實現方式

mongodb單機例項主從配置

1、需要啟動兩個mongodb例項,首先關閉mongodb預設開機啟動.service mongodb stop chkconfig mongodb off2、複製 /etc/mongod.conf cp /etc/mongod.conf /etc/mongod_slave.

MySQL單機實例部署

mysql單機多實例部署一、MySQL多實例部署版本:5.7.181.軟件安裝# tar xf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local # cd /usr/local # chown -R root.root mysql-5.7.18-l

安裝mysql例項安裝

安裝mysql(通用二進位制格式) 第一步:準備mysql的配置檔案(不再提供配置檔案模版) 首先需要從網路下載一個my.cnf檔案,放在/etc下 說明: 安裝位置:/usr/local/mysql 資料位置: /data/mysql/mysql3306/data 臨時檔案位置

MYSQL建立表的關係

前一篇博文學習總結了mysql的基本操作,DML建立的表與表之間有著一對多,多對多,一對一的關係,藉著學習的勁頭,總結一下這些關係。 一對多:部門和員工,滷肉店和肉,訂單和商品    使用者和訂單     -- 建立使用者表     create  table

Mysql讀寫分離與主從資料庫設定方案

何謂讀寫分離? Mysql無非四個功能:增,刪,改,讀.而將增刪改和讀分離操作.這樣有利於提高系統性能. 試著想想,進搬退改貨又賣貨改成了前門只賣貨,其它去後門.這樣是不是就很清晰了? 往往看起來高大上的東西,做起來也是挺簡單的. 下面是寫給小白的,都是非常直觀的操作. 1.配置: 兩臺

linux作業系統安裝5.7.17MySQL以及單機例項

1、下載安裝包mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 2、tar xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local -------解壓 3、cd /usr/local -----

單機例項tomcat 部署

簡介: 目錄結構 /bin - 啟動,停止及其它指令碼目錄/conf - 配置檔案目錄,容器的主配置檔案為server.xml/logs - 預設日誌目錄/webapps - 網站應用目錄 變數引用 CATALINA_HOME: Tomcat 安裝的根目錄,例如 /home/tomcat/apach

Docker 快速驗證 tomcat 單機例項方案

概述 主要講的是解決問題的思路。當然也附帶了儘可能詳細的步驟,感興趣的童鞋可以一步一步跟著來實踐一把。因為運維職業的緣故,基本上是把事故當故事來寫了,希望能夠喜歡。 緣起 至少10年了,沒在一線玩過 Tomcat 了,這次客戶現場就來了一場遭遇戰。雖然客戶說了他來搭建,但是專案進度不等人,還是自己動手吧

RabbitMQ單機例項配置

由於某些因素的限制,有時候你不得不在一臺機器上去搭建一個rabbitmq叢集,當然這種叢集只適合自己玩玩,驗證下結論,這個有點類似zookeeper的單機版。真實生成環境還是要配成多機叢集的。有關怎麼配置多機叢集的可以參考其他的資料,這裡主要論述如何在單機中配置

CentOS7下yum安裝mysql配置例項

最近想試試Mysql的主從複製功能“Mysql Replication”,但是苦於沒多臺電腦,於是考慮在Linux上配置多個Mysql例項做為測試環境。 環境:虛擬機器上的CentOS7 首先得在CentOS上安裝MySQL,下載原始碼編譯太麻煩,於是考慮用yum直接安裝。

tomcat單機例項

1、前言   首先要回答一個問題,為什麼要用單機多例項? 在不宕機的情況下,webapps裡面存在多個專案,可能由於其中一個專案過度使用記憶體或者其他不確定的因素使得tomcat掛了,那麼同一tomcat下的專案也會一同掛了;而使用不同的tomcat,同一臺伺服

zookeeper單機例項和分散式部署的步驟

介紹zookeeper單機多例項部署(實驗性質)以及生產環境的分散式部署 1. 準備工作:    1)需要linux環境,推薦用ubuntu的系統。學習的話使用oracle的virtual box安裝虛擬機器,網上找下安裝文件就可以裝好了,而生產環境一般都會裝好的。ub

zookeeper的單機例項配置和分散式配置

單機多例項配置: #生成配置檔案,配置檔名隨便,這裡是zoo.cfg cp /data/apache/zookeeper/conf/zoo_sample.cfg  /data/apache/zookeeper/conf/zoo.cfg vi /data/apache/zo

springboot 2.0+mybatis+hikari/druid+atlas+mysql 配置資料來源遇到的坑

前言:由於專案中用到了多個數據源,所以需要配置多資料來源。這時候就不能使用springboot的預設資料來源載入了,需要自定義多個數據源。一、配置準備看了springboot的doc和一些博主的經驗之談,發現配置多資料來源並不麻煩。選擇了一種比較簡單的方式,自定義DataSo

nginx tomcat 單機例項網站

參考文章 http://www.ttlsa.com/tomcat/config-multi-tomcat-instance/ 修改conf/server.xml    <Server port="8001" shutdown="SHUTDOWN">    &l