1. 程式人生 > >mariadb資料庫主從設定

mariadb資料庫主從設定

主庫伺服器: 192.168.112.131,debian8,MariaDB 10已安裝
從庫伺服器1: 192.168.112.130,debian,MariaDB 10已安裝

以下操作在各個資料庫伺服器配置檔案的[mysqld]部分下執行,資料庫配置檔案路徑假定為 /etc/my.cnf 。
/etc/my.cnf 中有關於主從配置的一些說明,見my.cnf中# Replication Master Server (default)和# Replication Slave (comment out master section to use this)部分。
開啟各個資料庫伺服器的配置檔案 my.cnf
檢查確保各個伺服器的skip-networking這行是註釋掉的。主從複製需要資料庫伺服器使用IP監聽的方式,不然使用UNIX socket方式監聽,其他伺服器訪問不到。把bind-address指定為各個伺服器網絡卡的繫結IP上。
配置server_id。server_id值為1到2的32次方-1的整數,每個伺服器都需要新增server_id配置,各個伺服器的server_id需要保證唯一性互不相同,實踐中通常設定為伺服器IP地址的最後一位.

主資料庫my.cnf設定

[mysqld]
bind-address            = 192.168.112.130
bind-address            = 192.168.112.131
server-id               = 131
log_bin                 = /var/log/mysql/master-bin.log

以上配置說明,監聽主資料庫ip地址,設定server-id,開啟主資料庫二進位制日誌。

從資料庫my.cnf設定

[mysqld] server-id =130

從資料庫my.cnf只需要設定server-id即可。

上述配置完後呼叫service mysql reload重新載入配置檔案。

接下來在資料庫中進行操作。
主資料庫:

MariaDB [(none)]> show variables like ‘datadir’;
+—————+—————–+ | Variable_name | Value |
+—————+—————–+ | datadir | /var/lib/mysql/ |

檢視二進位制日誌是否生成,沒有則是沒有配置成功。

建立從資料庫登入的帳號:
GRANT REPLICATION SLAVE ON . TO ‘帳號’@’登入ip’ IDENTIFIED BY ‘密碼’;
以下是我建立的帳號:

MariaDB [(none)]> GRANT REPLICATION SLAVE ON . TO
‘user’@’192.168.112.130’ IDENTIFIED BY ‘123’;

檢視主庫二進位制檔案的位置:

MariaDB [(none)]> SHOW MASTER STATUS;
+——————-+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————-+———-+————–+——————+ | master-bin.000008 | 504 | | |
+——————-+———-+————–+——————+

需要記住上述的檔案和位置,設定從資料庫的時候需要用到。

以下操作在從資料庫上操作:
首先先驗證在主資料新增的帳號是否成功登入;

[email protected]:/# mysql -h192.168.112.131 -uuser -p123 Welcome to the
MariaDB monitor. Commands end with ; or \g. Your MariaDB connection
id is Server version: 10.0.25-MariaDB-0+deb8u1 (Debian)

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input
statement.

MariaDB [(none)]>

正常登入,如果登入不上,就去看看主伺服器的my.cnf配置是否添加了從伺服器的ip埠。
下面可以進入從資料庫中操作,退出剛剛登入的帳號,換成root登入。

MariaDB [(none)]> CHANGE MASTER TO
-> MASTER_HOST=’192.168.112.131’,
-> MASTER_USER=’user’,
-> MASTER_PASSWORD=’123’,
-> MASTER_PORT=3306,
-> MASTER_LOG_FILE=’master-bin.000008’,
-> MASTER_LOG_POS=504,
-> MASTER_CONNECT_RETRY=10; Query OK, 0 rows affected (0.01 sec)

對上述檔案註釋:
登入的ip
登入的帳號
登入的面膜
開啟的埠
主資料的二進位制檔案的檔名
主資料庫的二進位制檔案的檔案位置
連線失敗重新連線的次數。

接下來就可以開啟從服務了

MariaDB [(none)]> START SLAVE; ERROR 1200 (HY000): Misconfigured
slave: server_id was not set; Fix in config file

這裡提示server-id沒有啟動,到my.cnf看看:
這裡寫圖片描述
已經設定過了,估計是剛剛沒有重新啟動:
重啟一下:
server mysql restart
再試一下開啟從服務:

MariaDB [(none)]> START SLAVE;
 Query OK, 0 rows affected, 1 warning (0.00 sec)

MariaDB [(none)]>
開啟成功。
接下來看一下從伺服器的狀態。

MariaDB [(none)]> START SLAVE; Query OK, 0 rows affected, 1 warning
(0.00 sec)

MariaDB [(none)]> SHOW SLAVE STATUS\G
***************** 1. row *****************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.112.131
Master_User: user
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master-bin.000008
Read_Master_Log_Pos: 504
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 536
Relay_Master_Log_File: master-bin.000008
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 504
Relay_Log_Space: 834
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error: Replicate_Ignore_Server_Ids:
Master_Server_Id: 131
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos: 1 row in set (0.00 sec)

出現 Slave_IO_Running: Yes
Slave_SQL_Running: Yes

設定成功,到這裡主從服務就配置完了,不過在這裡提醒一下,進行主從設定之前先要備份好資料,進行資料同步。

相關推薦

mariadb資料庫主從設定

主庫伺服器: 192.168.112.131,debian8,MariaDB 10已安裝 從庫伺服器1: 192.168.112.130,debian,MariaDB 10已安裝 以下操作在各個資料庫伺服器配置檔案的[mysqld]部分下執行,資料庫配置

搭建 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

Mysql(Mariadb資料庫主從複製

開發十年,就只剩下這套架構體系了! >>>   

mariadb cluster主從

mariadb mariadb主從 1、在主節點上/etc/my.cnfservice-id=1在主庫mysql授權backup用戶的權限grant replication slave on *.* to [email protected]‘%‘ identified by ‘passwor

Centos部署MariaDB資料庫伺服器

資料庫伺服器在企業中特別常見,本文介紹Centos部署MariaDB資料庫伺服器。 第一步:確保YUN源已經配置好; 第二步:安裝資料庫軟體包,mariadb-server、mariadb 軟體包; yum -y install mari

資料庫主從

1. 主從複製1.1. mysql主從的原理1.1.1. Replication 執行緒Mysql的 Replication 是一個非同步的複製過程(mysql5.1.7以上版本分為非同步複製和半同步兩種模式),從一個 Mysql instace(我們稱之為 Master)複製到另一個 Mysql insta

es資料庫別名設定

在使用es過程中,如果已存在一個es,需要增加新內容的時候,而且是一個不瞭解之前資料存貯的人進行新增內容時,就很有可能破壞原有的資料,並且es並沒有資料回滾的操作。因此,需要這樣的一個功能,有兩個index,但對查詢只顯示一個index。 強大的es提供了這樣的操作:別名操作。讓你多個的

MariaDB實現主從配置及讀寫分離(一)

一、主從複製方案 1.  在兩臺CentOS7虛擬機器上分別部署MariaDB, 主資料庫伺服器IP為192.168.17.235, 從伺服器IP為192.168.17.238. 從伺服器通過調取主伺服器上binlog日誌, 在本地重建庫、表, 實現與主伺服器的AB複製. 二、步驟 1. 對兩

mariadb資料庫筆記

資料庫介紹 1.什麼是資料庫? 簡單的說,資料庫就是一個存放資料的倉庫,這個倉庫是按照一定的資料結構(資料結構是指資料的組織形式或資料之間的聯絡)來組織,儲存的,我們可以通過資料庫提供的多種方法來管理資料庫裡的資料 更簡單的理解形象,資料庫和我們生活追蹤存放雜物的儲物間倉庫性質一樣,區別只是存放的東西不

SQLServer資料庫許可權設定--保障資料庫安全

一.登陸介面引入 下圖為SQL Server的登陸介面。 1)伺服器名稱:“.”代表本地計算機,選擇下拉框,可以看見還有一個與本機機名相同的內容,也代表於本地伺服器連線;要連線遠端伺服器的話,在此處填寫遠端IP地址; 2)身份驗證:身份驗證下拉框內容為”Windows 身份驗證“和 ”SQLServer

MariaDB資料庫服務後臺1111

1、初始化mariaDB服務程式: yum install mariadb mariadb-server           //安裝mariaDB   systemctl start mari

Linux環境下實現MariaDB資料庫的三種備份和還原

一、tar工具的使用  1、備份 (1)停止服務,3306埠關閉 (2)看下配置檔案有沒有關鍵日誌存放於其它目錄的,檢查/etc/my.cnf,再檢查下/etc/my.cnf.d/下有沒有配置檔案放置其他地方,有的話也需要一起拷貝歸檔 (3)建立備份目錄,歸檔 (4)開啟服

MariaDb資料庫管理系統學習(二)使用HeidiSQL資料庫圖形化介面管理工具

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

mariadb資料庫的連結查詢和表格設計

連結查詢 練習準備: --建立學生表 create table students ( id int unsigned not null auto_increment primary key, name varchar(20) default '', age

Linux中的Mariadb資料庫的主備

對於一個mysql伺服器, 一般有兩個執行緒來負責複製和被複制。當開啟複製之後。 MySQL 複製的基本過程如下:   1. Slave 上面的IO執行緒連線上 Master,並請求從指定日誌檔案的指定位置(或者從最開始的日誌)之後的日誌內容;     &nbs

阿里雲伺服器CentOS之mariadb資料庫安裝

參考文章:https://blog.csdn.net/Ghost_leader/article/details/53366942 由於CentOS 7 將mysql全部都改成了mariadb。所以在CentOS 下yum安裝mysql是沒有用的。雖然還是有一大堆軟體包叫做mysql。 不過不

資料庫主從不一致,怎麼解?

在聊資料庫與快取一致性問題之前,先聊聊資料庫主庫與從庫的一致性問題。   問:常見的資料庫叢集架構如何? 答:一主多從,主從同步,讀寫分離。 如上圖: (1)一個主庫提供寫服務 (2)多個從庫提供讀服務,可以增加從庫提升讀效能 (3)主從之間同步資料

centos7 yum配置安裝Mariadb資料庫(使用國內Mariadb源)

CentOS 6 或早期的版本中提供的是 MySQL 的伺服器/客戶端安裝包,但 CentOS 7 已使用了 MariaDB 替代了預設的 MySQL。MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可 MariaDB的目的是完全相容MySQL,包括AP

jquery 根據資料庫設定radio的選中

 jsp程式碼:1 <label>性  別</label> 2 <input type="radio" value="1" name="sex"/><label>男</label>

CentOS7下修改mariadb資料庫檔案的路徑

mariadb預設的資料文件儲存目錄為/var/lib/mysql,要想將預設建立目錄改成/data,需要一下操作: 1、建立/data目錄       mkdir /data       chmod  777 /da