當前位置:首頁 » 操作系統 » mysql主從資料庫配置

mysql主從資料庫配置

發布時間: 2022-06-11 20:10:01

Ⅰ Ubuntu配置Mysql主從資料庫

本次環境:虛擬機下
伺服器:Ubuntu
14.04
LTS
資料庫:
5.5.37
埠:3306
主IP:192.168.63.133
從IP:192.168.63.134
授權賬號:
user:suxh
password:111111
好了交代完環境:我們直接配置:
第一步:主從兩台伺服器要有同樣的資料庫(需要同步的)這里用的是backup
資料庫(不多說了,在同步開始前,把主庫的復制一份到從庫就行了)
第二步配置主(master)資料庫
編輯/etc/my.cnf
主要是開啟二進制日誌
和設置要同步的資料庫
等一些參數
#
binary
logging
format
-
mixed
recommended
binlog_format=mixed
binlog-ignore-db=mysql
binlog-do-db=backup
#
required
unique
id
between
1
and
2^32
-
1
#
defaults
to
1
if
master-host
is
not
set
#
but
will
not
function
as
a
master
if
omitted
server-id
=
1

參數解釋下:
server-id
這個是唯一的不能跟從伺服器相同。
binlog_format
二進制文件的格式
binlog_ignore-db
忽略的資料庫
binlog-do-db
要同步的資料庫
設置完了以後
重啟資料庫就可以了。
第三步從資料庫:
同樣修改/etc/my.cnf
在mysql
版本5.1.7
不支持master-host」類似的參數;
所以這里只要配置server-id=2
就可以了
然後登陸從資料庫設置
change
master
to
master_host='192.168.63.133',
master_user='suxh',
master_password='111111';
slave
start;

基本配置就好了。這是我的簡要筆記。

Ⅱ 如何用mysql搭配主從資料庫

  • 兩台機器,192.168.162.128(主) 192.168.162.130(從)

  • 配置主的配置文件

    vi /etc/my.cnf

    正常,說明主從搭建成功

Ⅲ mysql主從分離是怎麼配置的

1、在主從伺服器上都裝上MySQL資料庫,windows系統鄙人安裝的是mysql_5.5.25.msi版本,Ubuntu安裝的是mysql-5.6.22-linux-glibc2.5-i686.tar
windows安裝mysql就不談了,一般地球人都應該會。鄙人稍微說一下Ubuntu的MySQL安裝,我建議不要在線下載安裝,還是離線安裝的好。大家可以參考 這位不知道大哥還是姐妹,寫的挺好按照這個就能裝上。在安裝的時候可能會出現幾種現象,大家可以參考解決一下:
(1)如果您不是使用root用戶登錄,建議 su - root 切換到Root用戶安裝,那就不用老是 sudo 了。
(2)存放解壓的mysql 文件夾,文件夾名字最好改成mysql
(3)在./support-files/mysql.server start 啟動MySQL的時候,可能會出現一個警告,中文意思是啟動服務運行讀文件時,忽略了my.cnf文件,那是因為my.cnf的文件許可權有問題,mysql會認為該文件有危險不會執行。但是mysql還會啟動成功,但如果下面配置從伺服器參數修改my.cnf文件的時候,你會發現文件改過了,但是重啟服務時,修改過後的配置沒有執行,而且您 list一下mysql的文件夾下會發現很多.my.cnf.swp等中間文件。這都是因為MySQL啟動時沒有讀取my.cnf的原因。這時只要將my.cnf的文件許可權改成my_new.cnf的許可權一樣就Ok,命令:chmod 644 my.cnf就Ok

(4)Ubuntu中修改文檔內容沒有Vim,最好把Vim 裝上,apt-get install vim,不然估計會抓狂。
這時候我相信MySQL應該安裝上去了。
2、配置Master主伺服器
(1)在Master MySQL上創建一個用戶『repl』,並允許其他Slave伺服器可以通過遠程訪問Master,通過該用戶讀取二進制日誌,實現數據同步。
創建用於讀取日誌的資料庫用戶
(2)找到MySQL安裝文件夾修改my.Ini文件。mysql中有好幾種日誌方式,這不是今天的重點。我們只要啟動二進制日誌log-bin就ok。
在[mysqld]下面增加下面幾行代碼
View Code
(3)查看日誌
mysql> SHOW MASTER STATUS;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
重啟MySQL服務
3、配置Slave從伺服器(windows)
(1)找到MySQL安裝文件夾修改my.ini文件,在[mysqld]下面增加下面幾行代碼
my.cnf 配置
重啟MySQL服務
(2)連接Master
change master to master_host='192.168.0.104', //Master 伺服器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master伺服器產生的日誌
master_log_pos=0;
(3)啟動Slave
start slave;
4、Slave從伺服器(Ubuntu)
(1)找到MySQL安裝文件夾修改my.cnf文件,vim my.cnf
s

(2) ./support-files/myql.server restart 重啟MySQL服務 , ./bin/mysql 進入MySQL命令窗口
(3)連接Master
change master to master_host='192.168.0.104', //Master 伺服器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master伺服器產生的日誌
master_log_pos=0;
(4)啟動Slave
start slave;
OK所有配置都完成了,這時候大家可以在Master Mysql 中進行測試了,因為我們監視的時Master mysql 所有操作日誌,所以,你的任何改變主伺服器資料庫的操作,都會同步到從伺服器上。創建個資料庫,表試試吧。。。

Ⅳ 如何配置兩個MySQL資料庫之間的主從同步功能

IP的設置:A主機
IP:10.10.0.119;Mask:255.255.0.0;B主機
IP:10.10.8.112;Mask:255.255.0.0
在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service
iptables
status查看防火牆狀態。如果防火牆狀態。
為仍在運行。使用service
iptables
stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命令來禁用或定製。最終以兩台主機可以相互ping通為佳。
3.2
配置A主(master)
B從(slave)模式;3.2.1
配置A
為master。
增加一個用戶同步使用的帳號:
GRANT
FILE
ON
*.*
TO
『backup』@'10.10.8.112'
IDENTIFIED
BY
『1234』;
GRANTREPLICATION
SLAVE
ON
*.*
TO
『backup』@'10.10.8.112'
IDENTIFIED
BY
『1234』。
賦予10.10.8.112也就是Slave機器有File許可權,只賦予Slave機器有File許可權還不行,還要給它REPLICATION
SLAVE的許可權才可以。
增加一個資料庫作為同步資料庫:create
database
test;
創建一個表結構:create
table
mytest
(username
varchar(20),password
varchar(20));
修改配置文件:修改A的/etc/my.cnf文件。
在my.cnf配置項中加入下面配置:
server-id
=
1
#Server標識
log-bin
binlog-do-db=test
#指定需要日誌的資料庫
重起資料庫服務:
service
mysqld
restart
查看server-id:
show
variable
like
『server_id』。

Ⅳ 如何設計mysql 的主從關系

MySQL主從關系設置
一,概要
1.這個文檔主要實現的是MYSQL主從備份(主機資料庫任何修改,備份機器都會有實現)
2.但是有個問題,就是如果對備份機器資料庫進行操作,可能會導致連接失敗。
二,准備工作
1.可以是多台主機和從機,在這里我只用一台主機和從機為例講解主從關系配置。2.主機IP:192.168.0.100(例子)從機IP:192.168.0.101(例子)3.主機和從機的IP地址必須是一個網段的。
4.MySQL版本:mysql-5.5.15-win32.msi安裝路徑:D:\MySQL\(例子)5.其他相關軟體:
①.MySQL管理客戶端:Navicat8forMySQL(Windows)。
②.編輯工具:Notepad++(建議用此編輯工具修改MySQL配置文件,點擊此鏈接進入下載
頁面)
三,配置主機【master】(IP:192.168.0.100)
1.在命令行窗口中執行:netstopmysql關閉mysql服務。
2.在mysql安裝路徑下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都在MySQL安裝目錄下,本實驗中在D:\MySQL\下。記得先備份以下原來的配置文件。並用Notepad++打開。然後在文件末尾加入下面的代碼:
server-id=1#配一個唯一的ID編號
log-bin=NEW_NAME#指定日誌類型
binlog-do-db=bojinv2#設置要進行主從復制的資料庫名,同時也要在從機
【Slave】上設定(同步多個另起一行輸入這行代碼)
Binlog-ignore-db=mysql#設置不要進行主從復制的資料庫名,同時也要在
【Slave】上設定(不同步多個另起一行輸入這行代碼
即可。)
3.在系統管理命令窗口輸入:netstartmysql按回車啟動mysql服務
4.在MySQL5.5CommandLineClient命令窗口(路徑:開始菜單》程序》MySQL下),
輸入資料庫密碼:******回車,如下圖所示:
然後輸入:grantreplicationslaveon*.*toslaveuser@從機IP(例:192.168.1.101)identifiedby'從機資料庫密碼(例:123456)'回車後如下圖所示:
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
出現這樣的提示後,繼續輸入:flushprivileges;按回車,如下圖所示:
出現這樣的提示後,繼續輸入:showmasterstatus;按回車,如下圖所示:
記住出現的表格中的File列和Position的值。
5.在系統管理命令窗口輸入:netstopmysql按回車關閉mysql服務
6.進入MySQL管理客戶端:Navicat8forMySQL(Windows)。點擊菜單欄用戶,右側顯示你
剛才創建[email protected]的用戶,選中該用戶。點擊編輯用戶鏈接。彈出窗口,再
選擇許可權,將所有許可權都選上保存,這樣主機就配置好了。重啟一下MySQL服務。
四,配置從機【slave】(Ip:192.168.1.101)
1.在命令行窗口中執行:netstopmysql關閉mysql服務。
2.在mysql安裝路徑下找到配置文件my.ini文件(Linux下是文件my.cnf),一般都
在MySQL安裝目錄下,本實驗中在D:\MySQL\下。記得先備份以下
原來的配置文件。並用Notepad++打開。然後在文件末尾加入下面的代
碼:
server-id=2#配一個唯一的ID編號,不能與主機和其他的從機相同
replicate-do-db=bojinv2#設置要進行主從復制的資料庫名,資料庫名與主機
相同
replicate-ignore-db=mysql#設置不要進行主從復制的資料庫名,資料庫名與
主機相同
別忘了保存修改後的文件。
3.在系統管理命令窗口輸入:netstartmysql按回車啟動mysql服務
4.在MySQL5.5CommandLineClient命令窗口(路徑:開始菜單》程序》MySQL下),
輸入資料庫密碼,按回車成功登錄資料庫。5.登錄成功後,在該命令窗口輸入:
Changemastertomaster_host='主機IP(192.168.1.100)',master_user='

Ⅵ 如何配置兩個MySQL資料庫之間的主從同步功能

一、 概述
MySQL從3.23.15版本以後提供資料庫復制(replication)功能,利用該功能可以實現兩個資料庫同步、主從模式、互相備份模式的功能。本文檔主要闡述了如何在linux系統中利用mysql的replication進行雙機熱備的配置。
二、 環境
操作系統:Linux 2.6.23.1-42.fc8 # SMP(不安裝XEN)
Mysql版本:5.0.45-4.fc8
設備環境:PC(或者虛擬機)兩台
三、 配置
資料庫同步復制功能的設置都在MySQL的配置文件中體現,MySQL的配置文件(一般是my.cnf):在本環境下為/etc/my.cnf。
3.1 設置環境:
IP的設置:
A主機 IP:10.10.0.119
Mask:255.255.0.0
B主機 IP:10.10.8.112
Mask:255.255.0.0
在IP設置完成以後,需要確定兩主機的防火牆確實已經關閉。可以使用命令service iptables status查看防火牆狀態。如果防火牆狀態
為仍在運行。使用service iptables stop來停用防火牆。如果想啟動關閉防火牆,可以使用setup命令來禁用或定製。
最終以兩台主機可以相互ping通為佳。
3.2 配置A主(master) B從(slave)模式
3.2.1 配置A 為master
、增加一個用戶同步使用的帳號:
GRANT FILE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
GRANTREPLICATION SLAVE ON *.* TO 『backup』@'10.10.8.112' IDENTIFIED BY 『1234』;
賦予10.10.8.112也就是Slave機器有File許可權,只賦予Slave機器有File許可權還不行,還要給它REPLICATION SLAVE的許可權才可以。
、增加一個資料庫作為同步資料庫:
create database test;
、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
、修改配置文件:
修改A的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id = 1 #Server標識
log-bin
binlog-do-db=test #指定需要日誌的資料庫
、重起資料庫服務:
service mysqld restart
查看server-id:
show variable like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 1 |
+---------------+-------+
1 row in set (0.00 sec)
、用show master status/G命令看日誌情況。
正常為:
mysql> show master status/G
*************************** 1. row ***************************
File: mysqld-bin.000002
Position: 198
Binlog_Do_DB: test,test
Binlog_Ignore_DB:
1 row in set (0.08 sec)
3.2.2 配置B 為slave
、增加一個資料庫作為同步資料庫:
create database test;
、創建一個表結構:
create table mytest (username varchar(20),password varchar(20));
、修改配置文件:
修改B的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:
server-id=2
master-host=10.10. 0.119
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔秒
replicate-do-db=test #告訴slave只做backup資料庫的更新
、重起資料庫服務:
service mysqld restart
查看server-id:
show variables like 『server_id』;
實例:
mysql> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id | 2 |
+---------------+-------+
1 row in set (0.00 sec)
、用show slave status/G命令看日誌情況。
正常為:
mysql> show slave status/G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.0.119
Master_User: backup
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysqld-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: mysqld-relay-bin.000003
Relay_Log_Pos: 236
Relay_Master_Log_File: mysqld-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB: test,test
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: 98
Relay_Log_Space: 236
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
1 row in set (0.01 sec)
3.2.3 驗證配置
分別使用insert, delete , update在A主機進行增刪改查資料庫;查看B主機的資料庫是否與A主機一致;若一致,則配置成功。
3.3雙機互備模式
如果在A主機加入slave設置,在B主機加入master設置,則可以做B->A的同步。
、在A主機的配置文件中 mysqld配置項加入以下設置:
master-host=10.10.8.112
master-user=backup
master-password=1234
replicate-do-db=test
master-connect-retry=10
、在B的配置文件中 mysqld配置項加入以下設置:
log-bin
binlog-do-db=test
注意:當有錯誤產生時,*.err日誌文件同步的線程退出,當糾正錯誤後,要讓同步機制進行工作,運行slave start。
重起A、B機器,則可以實現雙向的熱備份。
四、 常見問題及解決
、Slave機器的許可權問題,不但要給slave機器File許可權,還要給它REPLICATION SLAVE的許可權。
、在修改完Slave機器/etc/my.cnf之後,slave機器的mysql服務啟動之前,記得要刪除掉master.info
、在show master status或著show slave status不正常時,看看.err是怎樣說的。
、Slave上Mysql的Replication工作有兩個線程, I/O thread和SQL thread。I/O的作用是從
master 3306埠上把它的binlog取過來(master在被修改了任何內容之後,就會把修改了什麼寫到自己的binlog等待slave更
新),然後寫到本地的relay-log,而SQL thread則是去讀本地的relay-log,再把它轉換成本Mysql所能理解的語句,於是同步
就這樣一步一步的完成.決定I/O thread的是/var/lib/mysql/master.info,而決定SQL thread的是/var
/lib/mysql/relay-log.info.
、啟動slave,命令用start slave;重新啟動用restart slave

Ⅶ 如何配置MySQL資料庫主從復制

MySQL支持單向、非同步復制,復制過程中一個伺服器充當主伺服器,而一個或多個其它伺服器充當從伺服器。主伺服器將更新寫入二進制日誌文件,並維 護日誌文件的一個索引以跟蹤日誌循環。當一個從伺服器連接到主伺服器時,它通知主伺服器從伺服器在日誌中讀取的最後一次成功更新的位置。從伺服器接收從那 時起發生的任何更新,然後封鎖並等待主伺服器通知下一次更新。

為什麼使用主從復制?

1、主伺服器/從伺服器設置增加了健壯性。主伺服器出現問題時,你可以切換到從伺服器作為備份。

2、通過在主伺服器和從伺服器之間切分處理客戶查詢的負荷,可以得到更好的客戶響應時間。但是不要同時在主從伺服器上進行更新,這樣可能引起沖突。

3、使用復制的另一個好處是可以使用一個從伺服器執行備份,而不會干擾主伺服器。在備份過程中主伺服器可以繼續處理更新。

MySQL使用3個線程來執行復制功能(其中1個在主伺服器上,另兩個在從伺服器上。當發出START SLAVE時,從伺服器創建一個I/O線程,以連接主伺服器並讓主伺服器發送二進制日誌。主伺服器創建一個線程將二進制日誌中的內容發送到從伺服器。從服 務器I/O線程讀取主伺服器Binlog Dump線程發送的內容並將該數據拷貝到從伺服器數據目錄中的本地文件中,即中繼日誌。第3個線程是SQL線程,從伺服器使用此線程讀取中繼日誌並執行日 志中包含的更新。SHOW PROCESSLIST語句可以查詢在主伺服器上和從伺服器上發生的關於復制的信息。

默認中繼日誌使用host_name-relay-bin.nnnnnn形式的文件名,其中host_name是從伺服器主機名,nnnnnn是序 列號。用連續序列號來創建連續中繼日誌文件,從000001開始。從伺服器跟蹤中繼日誌索引文件來識別目前正使用的中繼日誌。默認中繼日誌索引文件名為 host_name-relay-bin.index。在默認情況,這些文件在從伺服器的數據目錄中被創建。中繼日誌與二進制日誌的格式相同,並且可以用 mysqlbinlog讀取。當SQL線程執行完中繼日誌中的所有事件後,中繼日誌將會被自動刪除。

從伺服器在數據目錄中另外創建兩個狀態文件--master.info和relay-log.info。狀態文件保存在硬碟上,從伺服器關閉時不會丟失。下次從伺服器啟動時,讀取這些文件以確定它已經從主伺服器讀取了多少二進制日誌,以及處理自己的中繼日誌的程度。

設置主從復制:

1、確保在主伺服器和從伺服器上安裝的MySQL版本相同,並且最好是MySQL的最新穩定版本。

2、在主伺服器上為復制設置一個連接賬戶。該賬戶必須授予REPLICATION SLAVE許可權。如果賬戶僅用於復制(推薦這樣做),則不需要再授予任何其它許可權。

mysql> GRANT REPLICATION SLAVE ON *.*

-> TO 'replication'@'%.yourdomain.com' IDENTIFIED BY 'slavepass';

3、執行FLUSH TABLES WITH READ LOCK語句清空所有表和塊寫入語句:

mysql> FLUSH TABLES WITH READ LOCK;

保持mysql客戶端程序不要退出。開啟另一個終端對主伺服器數據目錄做快照。

shell> cd /usr/local/mysql/

shell> tar -cvf /tmp/mysql-snapshot.tar ./data

如果從伺服器的用戶賬戶與主伺服器的不同,你可能不想復制mysql資料庫。在這種情況下,應從歸檔中排除該資料庫。你也不需要在歸檔中包括任何日誌文件或者master.info或relay-log.info文件。

當FLUSH TABLES WITH READ LOCK所置讀鎖定有效時(即mysql客戶端程序不退出),讀取主伺服器上當前的二進制日誌名和偏移量值:

mysql > SHOW MASTER STATUS;

+---------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| mysql-bin.003 | 73 | test | manual,mysql |

+---------------+----------+--------------+------------------+

File列顯示日誌名,而Position顯示偏移量。在該例子中,二進制日誌值為mysql-bin.003,偏移量為73。記錄該值。以後設置從伺服器時需要使用這些值。它們表示復制坐標,從伺服器應從該點開始從主伺服器上進行新的更新。如果主伺服器運行時沒有啟用--logs-bin,SHOW MASTER STATUS顯示的日誌名和位置值為空。在這種情況下,當以後指定從伺服器的日誌文件和位置時需要使用的值為空字元串('')和4.

取得快照並記錄日誌名和偏移量後,回到前一中端重新啟用寫活動:

mysql> UNLOCK TABLES;

4、確保主伺服器主機上my.cnf文件的[mysqld]部分包括一個log-bin選項。該部分還應有一個server-id=Master_id選項,其中master_id必須為1到232–1之間的一個正整數值。例如:

[mysqld]

log-bin

server-id=1

如果沒有提供那些選項,應添加它們並重啟伺服器。

5、停止從伺服器上的mysqld服務並在其my.cnf文件中添加下面的行:

[mysqld]

server-id=2

slave_id值同Master_id值一樣,必須為1到232–1之間的一個正整數值。並且,從伺服器的ID必須與主伺服器的ID不相同。

6、將數據備據目錄中。確保對這些文件和目錄的許可權正確。伺服器 MySQL運行的用戶必須能夠讀寫文件,如同在主伺服器上一樣。

Shell> chown -R mysql:mysql /usr/local/mysql/data

7、啟動從伺服器。在從伺服器上執行下面的語句,用你的系統的實際值替換選項值:

mysql> CHANGE MASTER TO

-> MASTER_HOST='master_host_name',

-> MASTER_USER='replication_user_name',

-> MASTER_PASSWORD='replication_password',

-> MASTER_LOG_FILE='recorded_log_file_name',

-> MASTER_LOG_POS=recorded_log_position;

8、啟動從伺服器線程:

mysql> START SLAVE;

執行這些程序後,從伺服器應連接主伺服器,並補充自從快照以來發生的任何更新。

9、如果出現復制錯誤,從伺服器的錯誤日誌(HOSTNAME.err)中也會出現錯誤消息。

10、從伺服器復制時,會在其數據目錄中發現文件master.info和HOSTNAME-relay-log.info。從伺服器使用這兩個文 件跟蹤已經處理了多少主伺服器的二進制日誌。不要移除或編輯這些文件,除非你確切知你正在做什麼並完全理解其意義。即使這樣,最好是使用CHANGE MASTER TO語句。

Ⅷ mysql 怎麼配置主從資料庫

5.6mysql怎麼進行主從配置
在主資料庫中創建新資料庫rep_test。
然後編輯主資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=1 #指定唯一的ID,1至32,必須的
log-bin=mysql-log-bin #指定二進制日誌存放路徑,必須的
binlog-do-db=rep_test #指定要同步的資料庫,必須的
#binlog-ignore-db=mysql #指定不要同步的資料庫,如果指定了binlog-do-db就不用再指定該項

Ⅸ MySql伺服器怎麼架設主從資料庫伺服器呢

大致步驟如下:主MySQL伺服器:192.168.3.1備MySQL伺服器:192.168.3.2配置文件路徑:/etc/my.cnfMySQL服務狀態:停止-------------------------主伺服器配置-------------------編輯配置文件:vi
/etc/my.cnf找到[mysqld]在它下面添加內容:server-id=1log-bin=backuplogbinlog-do-db=test#如果有多個資料庫需要同步,添加多行即可#binlog-do-db=test2保存my.cnf配置文件。啟動mysql:service
mysqld
start用root登錄mysql,為同步數據創建新帳號:grant
file,select,replication
slave
on
*.*
to
'test'@'%'
identified
by
'123456';------------------------備伺服器配置-------------------------編輯配置文件:vi
/etc/my.cnf在[mysqld]下加入:server-id=2master-host=192.168.3.1master-user=testmaster-password=123456master-port=3306#replicate-do-db=test
#此配置項為設置僅同步的資料庫名,其它資料庫忽略(建議不設置此選項)保存並啟動mysql即可。如果需要查看同步狀態,可分別在主從伺服器上用如下命令查看:主伺服器:show
master
status;從伺服器:show
slave
status\G------------------值得說明的兩個文件-----------------備份伺服器上的/var/lib/mysql/目錄下有兩個:master.info和relay-log.info它們記錄了主伺服器的配置信息和同步信息,如果出現備份伺服器不能同步數據的問題,可嘗試將這兩個文件刪除,讓備伺服器重新同步。備註:進行操作之前先備份下數據比較保險一點。

Ⅹ 如何在一台windows主機上搭建mysql主從配置

先在主資料庫中創建新資料庫rep_test。
然後編輯主資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=1
#指定唯一的ID,1至32,必須的
log-bin=mysql-log-bin
#指定二進制日誌存放路徑,必須的
binlog-do-db=rep_test
#指定要同步的資料庫,必須的
#binlog-ignore-db=mysql
#指定不要同步的資料庫,如果指定了binlog-do-db就不用再指定該項
重啟主資料庫,然後在主資料庫中建立一個備份賬戶
mysql>grant
replication
slave
on
*.*
to [email protected]
identified
by
'slave'
;
mysql>flush
privileges;
PS:identified
by
指定的slave是賬號[email protected]
的密碼
顯示主伺服器的狀態信息,並且找到File

Position
的值記錄下來;
mysql>show
master
status;

在從資料庫中創建新的資料庫rep_test。
然後編輯從資料庫的my.ini文件
在[mysqld]節點中增加如下內容:
server-id=2
#指定唯一的ID,2至32,必須的,並且不能跟主資料庫一樣
replicate-do-db=rep_test
#指定要同步的資料庫,必須的
#replicate-ignore-db=mysql
#指定不要同步的資料庫,
重啟從資料庫,設置登錄主資料庫的賬號和密碼等信息,然後啟動slave
mysql>change
master
to
master_host='192.168.1.2',master_user='slave',master_password='slave',
master_log_file='mysql-bin.000002',master_log_pos=120;
mysql>start
slave;
查看從資料庫的信息
mysql>show
slave
status
\G;
如果出現: Slave_IO_Running:
YesSlave_SQL_Running:
Yes以上兩項都為Yes,那說明沒問題了
測試主從復制是否有效果
在主資料庫中創建一個新的資料庫,然後再切換到從資料庫查看是否同樣多出通名的資料庫
配置舊資料庫的主從復制
如果一開始資料庫的架構不是主從復制,並且運行一段時間後已經有數據存在,那配置的方式略有不同。
編輯主資料庫的my.ini文件,加上一下內容:
binlog-do-db=landclash
重啟主資料庫,然後在主資料庫中鎖定所有的表
mysql>flush
tables
with
read
lock;
顯示主伺服器的狀態信息,並且找到File

Position
的值記錄下來;
mysql>show
master
status;

將主資料庫data目錄下需要做主從復制的資料庫的同名目錄拷貝到從資料庫的data目錄下
編輯從資料庫的my.ini文件,加上一下內容:
replicate-do-db=landclash
重啟從資料庫,因為主資料庫在重新配置my.ini後,日誌文件變成新的文件,所以需要再次設置登錄主資料庫的賬號和密碼等信息
mysql>stop
slave;
mysql>change
master
to
master_host='192.168.1.2',master_user='slave',master_password='slave',
master_log_file='mysql-bin.000003',master_log_pos=120;
mysql>start
slave;
再次輸入查看從資料庫狀態的命令
mysql>show
slave
status
\G;
完成上述配置後,回到主資料庫,將表解鎖
mysql>unlock
tables;
之後在主資料庫的修改就能同步到從資料庫上了。

熱點內容
androidgif緩存 發布:2024-11-02 18:32:50 瀏覽:342
怎麼在windows下交叉編譯qt 發布:2024-11-02 18:27:31 瀏覽:627
編程自動迷宮 發布:2024-11-02 18:09:48 瀏覽:432
聯想數據守護者手機存儲 發布:2024-11-02 18:09:43 瀏覽:201
游戲存儲空間必須在同一個盤嗎 發布:2024-11-02 18:09:43 瀏覽:677
雲存儲權益 發布:2024-11-02 18:08:59 瀏覽:55
做聯機游戲伺服器的電腦配置 發布:2024-11-02 17:44:36 瀏覽:172
華為編譯器軟體 發布:2024-11-02 17:42:11 瀏覽:123
電視機出場密碼多少 發布:2024-11-02 17:36:23 瀏覽:577
伺服器名稱地址該如何填 發布:2024-11-02 17:31:14 瀏覽:84