mysql群集配置 mysql集群安裝配置

2021-10-16 16:28:18 字數 4946 閱讀 6295

#groupadd mysql

#useradd mysql -g mysql

#mv mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz /usr/local/

#cd /usr/local/

#tar zxvf mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#rm -f mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#mv mysql-cluster-gpl-7.0.8a-linux-i686-glibc23 mysql

#chown -r mysql:mysql mysql

#cd mysql

#scripts/mysql_install_db --user=mysql

#cp support-files/my-medium.cnf /etc/my.cnf

#cp support-files/mysql.server /etc/init.d/mysqld

#vi /etc/my.cnf         //這裡需要手動新增如下的內容

datadir=/usr/local/mysql/data/       //這裡要與管理節點的config.ini相同

ndbcluster

ndb-connectstring=10.10.1.151

[ndbd]

connect-string=10.10.1.151

[mysql_cluster]

ndb-connectstring=10.10.1.151

[ndb_mgm]

connect-string=192.168.1.151

[ndb_mgmd]

config-file=/var/lib/mysql-cluster/config.ini//這裡要指定管理節點配置檔案路徑

4.啟動相關服務

在管理節點啟動相關服務:

#/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

#netstat -lntpu

tcp        0      0 0.0.0.0:1186            0.0.0.0:*

listen   22907/ndb_mgmd

看到1186埠開放了說明啟動是正常的.

在資料節點啟動相關服務:

#/usr/local/mysql/bin/ndbd --initial

#netstat -lntpu

tcp        0      0 10.10.1.65:32975            0.0.0.0:*                    listen      1901/ndbd

tcp        0      0 10.10.1.65:32976            0.0.0.0:*                   listen      1901/ndbd

tcp        0      0 10.10.1.65:32977            0.0.0.0:*                   listen      1901/ndbd

#service mysqld start

#netstat -lntpu

tcp        0      0 :::3306                     :::*                        listen      2258/mysqld

可以看到相關的ndbd服務以及mysql已經啟動ok了.

5.功能測試

到管理節點檢視下相關服務狀態

# ndb_mgm

ndb_mgm> show

connected to management server at: localhost:1186

cluster configuration

[ndbd(ndb)]     2 node(s)

id=2    @10.10.1.65  (mysql-5.1.37 ndb-7.0.8, nodegroup: 0, master)

id=3    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8, nodegroup: 0)

[ndb_mgmd(mgm)] 1 node(s)

id=1    @10.10.1.151  (mysql-5.1.37 ndb-7.0.8)

[mysqld(api)]   2 node(s)

id=4    @10.10.1.65  (mysql-5.1.37 ndb-7.0.8)

id=5    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8)

可以看到這裡的資料節點、管理節點、sql節點都是正常的.

現在我們在其中乙個資料節點上進行相關資料庫的建立,然後到另外乙個資料節點上看看資料是否同步

# /usr/local/mysql/bin/mysql -u root -p

mysql> show databases;

| database           |

| information_schema |

| mysql              |

| ndb_2_fs           |

| test               |

mysql> create database aa;

mysql> use aa

mysql> create table ctest2 (i int) engine=ndb; //這裡必須指定資料庫表的引擎為ndb,否則同步失敗

mysql> insert into ctest2 () values (1);

mysql> select * from ctest2;

| i    |

|    1 |

現在到另外乙個資料節點檢視下aa資料庫是否同步過來了.

#/usr/local/mysql/bin/mysql -u root -p

mysql> show databases;

| database           |

| information_schema |

| aa                 |

| bb                 |

| mysql              |

| ndb_3_fs           |

| test               |

mysql> use aa

mysql> select * from ctest2;

| i    |

|    1 |

從上面可以看到資料已經同步了,mysql集群環境已經搭建完成.

6.破壞性測試

大家在上面可以看到10.10.1.65作為主的資料節點,我現在把10.10.1.65這台機器關閉,看下有什麼結果

ndb_mgm> show

cluster configuration

[ndbd(ndb)]     2 node(s)

id=2 (not connected, accepting connect from 10.10.1.65)

id=3    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8, nodegroup: 0, master)

[ndb_mgmd(mgm)] 1 node(s)

id=1    @10.10.1.151  (mysql-5.1.37 ndb-7.0.8)

[mysqld(api)]   2 node(s)

id=4 (not connected, accepting connect from any host)

id=5    @10.10.1.58  (mysql-5.1.37 ndb-7.0.8)

從上面可以發現現在10.10.1.65這台機器的資料節點和sql節點已經連線不了,10.10.1.58成為了主資料節點,我們現在在10.10.1.58資料節點上建立乙個表,然後恢復10.10.1.65的資料節點,看下它是否把資料同步過來了.

先在10.10.1.58資料節點做如下操作:

mysql> create table ctest3(id int(11)) engine=ndb;

mysql> show tables;

| tables_in_aa |

| ctest2       |

| ctest3       |

mysql> insert into ctest3 values(1);

mysql> select * from ctest3;

| id   |

|    1 |

然後我們恢復10.10.1.65資料節點,檢視下ctest3資料是否同步過來了.

mysql> show databases;

| database           |

| information_schema |

| aa                 |

| bb                 |

| mysql              |

| ndb_2_fs           |

| test               |

mysql> use aa

mysql> show tables;

| tables_in_aa |

| ctest        |

| ctest2       |

| ctest3       |

mysql> select * from ctest3;

| id   |

|    1 |

可以看到10.10.1.65資料節點已經把10.10.1.58資料節點的資料同步過來了,說明mysql集群是沒有問題的了.隨後做下mysql效能相關的測試.

mysql負載均衡群集筆記

首先在這裡感謝51cto上的一位朋友,我是在他的文件幫助下,完成這個服務的,由於不知道姓名所以這樣了,謝謝 ndb mgmd mgm 1 node s id 1 10.0.0.95 version 4.1.9 mysqld api 2 node s id 4 version 4.1.9 id 5 v...

mysql字符集配置 mysql中文亂碼

這兩天重置了下自己的電腦系統,乙個ubuntu,另外乙個當然就是windows。不過在執行程式的時候發現,出現了很多的 也就是亂碼字元。毫無疑問,這定然是mysql字符集的配置問題。找到了解決問題的方向,那麼,自然就很好辦了。我的問題是出現在ubntu上的,如果你是windows使用者,那麼直接去安...

mysql 字符集等 配置

我的配置 mysql default character set utf8 mysqld default character set utf8 client default character set utf8目錄 1 資料庫目錄 var lib mysql 2 配置檔案 usr share mys...