mysql cluster第一次嘗試

2021-08-15 10:55:23 字數 3625 閱讀 5673

1.本人一開始是想用主從一致來作為資料庫基礎的,後來發現主從一致,如果他們之間的通訊斷了,對整個系統來說是致命的。之前的方案是資料庫讀寫分離。現在的方案是資料庫集群,其實他們之間的聯絡也是主從一致,但是數量比較多,而且當其中乙個斷了聯絡之後,可以在下次連線的時候進行恢復。然後我選擇的是mysql cluster

2.期間參照很多部落格:

其實裡面寫了都差不多,然後我自己總結歸納一下

3.我用的是2臺虛擬機器(ubuntu)

192.168.0.106管理節點,還有資料節點

192.168.0.107資料節點

4.先使用root的身份,sudo su,輸入密碼進入

然後都要關閉防火牆,ufw disable

6.解壓gz

cd /root/downloads

tar -xvzf mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz

mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64 /usr/local/mysql

注意了,第二步很關鍵,因為mysql在linux系統裡面是預設存在/usr/local/mysql裡面的

7.建立mysql使用者

useradd mysql

chown -r mysql:mysql /usr/local/mysql/

安裝mysql

cd /usr/local/mysql/scripts

./mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

8.配置管理節點

配置完安裝管理節點

cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin

cd /usr/local/bin

chmod +x ndb_mgm*

集群的很多東西都和ndb_mgm*有關,然後上面這樣做是為了可以直接在命令列呼叫ndb_mgm等等命令,不用每次都cd到相應的檔案再./ndb_mgm等等

啟動管理節點

ndb_mgmd -f /var/lib/mysql-cluster/config.ini
如果有修改要

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --reload
下面從其他部落格截圖的,就舉個例子

如果裡面有出現error的,是config.ini這配置檔案出錯,自己改改。其他的warning都是沒問題的

檢視1186埠是否已經開啟,開啟表示你之前的東西都ojbk了。

# netstat -langput | grep mgm

tcp 0 0 0.0.0.0:1186 0.0.0.0:* listen 3427/ndb_mgmd

tcp 0 0 127.0.0.1:45251 127.0.0.1:1186 established 3427/ndb_mgmd

tcp 0 0 127.0.0.1:1186 127.0.0.1:45251 established 3427/ndb_mgmd

下面是用ndb_mgm -e show顯示集群的狀態(旁白:抄襲的,就舉個例子而已)

9.配置資料節點

資料庫預設的配置檔案儲存在/etc/my.cnf

所以配置my.cnf

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

socket=/tmp/mysql.sock

port=3306

ndb-connectstring=192.168.0.106 ---管理節點ip

[mysql_cluster]

ndb-connectstring=192.168.0.106 ---管理節點ip

注意了上面datadir要根據自己實際去修改哦

/usr/local/mysql/bin/ndbd --initial
上面的意思是什麼,是這個資料節點在管理節點裡面配置是id=3,然後啟動了

如果你跟我一樣把管理節點作為資料節點,那麼管理節點也要 執行

/usr/local/mysql/bin/ndbd --initial
啟動sql節點的是

/usr/local/mysql/bin/mysqld_safe  --user=mysql &
我沒試過,你們自己玩

10.管理節點可以看下集群的狀態

注意了如果裡面顯示starting,證明還在啟動,或者操作錯誤。要用上面說的啟動,才會連線

11.最後是你們自己去連線資料庫試下是不是會同步。然後我發現在管理節點的不會同步到資料節點,資料節點的會管理節點。也不知道對不對,自己試試。還有注意建立資料表的時候要用engine=ndbcluster,才會同步起來。這個很重要哦

在安裝mysql的時候回出現少了個

libaio.so.1,

sudo apt-get install libaio-dev
用上面這個解決

這個是手動安裝mysql,沒有給你中途去設定密碼的。你用mysql -u root mysql

可以直接進去mysql,然後

update user set password=password('密碼');
flush privileges
第二個是使得修改生效

mysql -uroot -p
輸入自己剛剛設定的密碼進去了。enjoy it

第一次飛行

開始敲下這段話時,窗外下面正是一片片陽光照耀著的白雲,伴隨著張學友的歌聲,心潮起伏.雖然從初中起,我就經常乙個人坐著火車,汽車東奔西跑,坐飛機卻是第一次.早上上飛機前,心裡忐忑,必竟還是踏在陸地上踏實.但上了飛機後注意力就放在其它地方上去了,而且,運氣好的是我有乙個靠窗的位置.飛機準備起飛了,助跑加...

第一次面試

話說3月4號學院召開實習動員大會並有三家公司過來進行宣講會,分別是國家體育總局亞運專案組,金蝶和華際友天,由此開始了實習生涯。周五的傍晚,正吃著飯的時候突然收到簡訊通知,金蝶週六上午10點有個面試。當晚就瀏覽著些簡歷製作相關的網頁,為第二天做準備,總以為,簡歷弄得可以了,然後每太留意去完善 後來才知...

第一次哭泣

第一次來到南方 沒有朋友 沒有親人 乙個從沒有出過門的乙個女孩子 為了工作 學習c 在這碰到了乙個很好的老師 當老師控制我的機器時 或者給我講題時 我都是很感動的 幾乎是每天都有問題 形成了依賴 以前他說不要一有問題就舉手問 我依然問 就算我不問他也會控制我的機器 看看我在做什麼 或者有什麼錯誤 現...