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

mysql主從資料庫

發布時間: 2022-03-01 21:36:53

㈠ mysql 主從資料庫報錯

可能是最大長度限制

㈡ MYSQL中的主從資料庫什麼意思能否詳細解釋一些,他主要用在什麼地方,謝謝

?其中Master負責寫操作的負載,也就是說一切寫的操作都在Master上進行,而讀的操作則分攤到Slave上進行。這樣一來的可以大大提高讀取的效率。在一般的互聯網應用中,經過一些數據調查得出結論,讀/寫的比例大概在 10:1左右 ,也就是說大量的數據操作是集中在讀的操作,這也就是為什麼我們會有多個Slave的原因。但是為什麼要分離讀和寫呢?熟悉DB的研發人員都知道,寫操作涉及到鎖的問題,不管是行鎖還是表鎖還是塊鎖,都是比較降低系統執行效率的事情。我們這樣的分離是把寫操作集中在一個節點上,而讀操作其其他的N個節點上進行,從另一個方面有效的提高了讀的效率,保證了系統的高可用性。

㈢ 為什麼使用mysql主從資料庫,而不考慮使用緩存

目的不完全相同

1、資料庫信息量大了一般都要使用主從資料庫,主寫從讀。使用主從資料庫主要是使資料庫能支撐更大的並發,例如:「前台」使用master(主庫),「報表」使用slave(從庫),那麼任何「報表」的sql在slave執行都不會造成「前台」鎖表;另外還有方便熱備份,支持兩個庫用不同引擎等好處
2、而程序里使用緩存多是為了減少對資料庫訪問壓力。

㈣ Mysql主從資料庫

配置好主從以後,主庫插入數據,寫到二進制日誌中,發送給從庫,從庫接收二進制日誌寫到relay日誌中,從庫從relay日誌中讀取、插入數據。

㈤ mysql 主從資料庫中的數據一樣嗎

mysql的主從復制開啟之後,從資料庫會立馬復制主資料庫中的數據。
然後,對主資料庫進行增,刪,改操作之後,從資料庫也會進行相同的操作。
不過,對從資料庫進行增,刪,改操作的話,對主資料庫是沒有任何影響的

㈥ 配置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 怎麼配置主從資料庫

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主從式資料庫 怎麼用

myisamchk適用於MYISAM類型的數據表,而isamchk適用於ISAM類型的數據表。
這兩條命令的主要參數相同,一般新的系統都使用MYISAM作為預設的數據表類型,這里以myisamchk為例子進行說明。

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

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

  • 配置主的配置文件

    vi /etc/my.cnf

    正常,說明主從搭建成功

㈩ mysql設置成主從資料庫後,能在從資料庫中進行增刪改同步數據嗎如果想這么實現要怎麼做

主庫的主機關機時,數據只能讀不能寫,並且從庫的主機關機後,數據仍然可讀可寫,這個不好弄,如果你對lua腳本有所了解,修改mysql-proxy 的讀寫分離腳本或許可以實現。 不過主庫關機時不能訪問,並且從庫關機仍可讀可寫,這個不需要配讀寫分離,這本來就是主從復制的基本能力,從庫只是備用的而已。從庫關閉後再開啟,slave IO線程會自動從中斷處二進制日誌的位置開始復制主機的二進制日誌,slave SQL線程會讀取並執行這些二進制日誌中的SQL。 總之,不需要特別的配置,這是主從復制的基本能力。

熱點內容
5g和演算法 發布:2024-09-23 01:20:40 瀏覽:506
pandas開發程序編譯 發布:2024-09-23 01:13:58 瀏覽:464
android應用被系統回收 發布:2024-09-23 01:10:36 瀏覽:446
c語言餐廳管理系統 發布:2024-09-23 01:01:35 瀏覽:93
linux系統新加網卡怎麼配置 發布:2024-09-23 01:01:34 瀏覽:893
java自我介紹一分鍾 發布:2024-09-23 00:51:34 瀏覽:672
告訴我解除密碼是多少 發布:2024-09-22 23:58:11 瀏覽:755
預演算法實施條例新 發布:2024-09-22 23:56:36 瀏覽:540
存儲過程遠程資料庫 發布:2024-09-22 23:32:12 瀏覽:519
存儲掛載空間 發布:2024-09-22 23:29:49 瀏覽:95