mysql设置success信息_【原创】MySQL Cluster安装部署(Success)
參考:http://www.cnblogs.com/zhoulf/archive/2013/01/30/2883207.html
安裝要求
安裝環(huán)境:centos6.3(X64)
軟件名稱?:mysql-cluster-gpl-7.3.8-linux-glibc2.5-x86_64.tar.gz?(通用版)
管理節(jié)點IP:10.61.5.51
數(shù)據(jù)節(jié)點-SQL節(jié)點IP:10.61.5.52
數(shù)據(jù)節(jié)點-SQL節(jié)點IP:10.61.5.52
安裝依賴包:yum?install?-y?glibc?perl?libaio-devel
[虛擬機上上網(wǎng)代理配置:
vim?/etc/yum.conf???在文件最后加上:
Proxy=http://10.61.5:3128]
x32位系統(tǒng)要安裝兼容庫組:yum?groupinstall?“Compatibility?libraries”
軟件安裝位置:/usr/local/mysql
數(shù)據(jù)存放位置:/var/mysql/data
日志存放位置:/var/mysql/logs
檢查安裝的mysql
檢查系統(tǒng)中已經(jīng)安裝過的mysql信息,操作如下:
[root@localhost?/]#?rpm?-qa?|?grep?mysql
[root@localhost?/]#?service?mysql?status
如果安裝過其他版本的mysql,請卸載,操作如下:
[root@localhost?/]#?/etc/init.d/mysqld?stop??//關閉目前的mysql服務
[root@localhost?/]#?ps?-ef?|?grep?mysql??//檢驗mysql是否已經(jīng)關閉
#如果沒關閉,執(zhí)行kill?-9?端口號
#執(zhí)行刪除
rpm?-e?--allmatches?--nodeps?mysql?mysql-server
rm?-rf?/var/lib/mysql??//?刪除mysql的安裝目錄
管理節(jié)點
管理節(jié)點安裝
安裝管理節(jié)點(10.61.5.51)
[root@localhost?/]#?groupadd?mysql
[root@localhost?/]#??useradd?mysql?-g?mysql
[root@localhost?/]#?cd?/usr/local
[root@localhost?local]#?tar?-zxv?-f?mysql-cluster-gpl-7.3.8-linux-glibc2.5-x86_64.tar.gz
[root@localhost?local]#?mv?mysql-cluster-gpl-7.3.8-linux-glibc2.5-x86_64??mysql
[root@localhost?local]#?chown?-R?mysql:mysql?mysql
[root@localhost?local]#?cd?mysql
[root@localhost?mysql]#?scripts/mysql_install_db?--user=mysql
管理節(jié)點配置
[root@localhost?~]#??mkdir?/var/lib/mysql-cluster
[root@localhost?~]#?cd?/var/lib/mysql-cluster
[root@localhost?mysql-cluster]#?vi?+?/var/lib/mysql-cluster/config.ini
在config.ini?中添加以下內(nèi)容:
[NDBD?DEFAULT]
NoOfReplicas=1
[TCP?DEFAULT]
portnumber=3307
(數(shù)據(jù)節(jié)點上的ndb啟動后會占用其本機的3306端口,以至于Mysqld就啟動不了,在此設置為3307,sql節(jié)點上的配置文件中mysqld端口改為3307即可)
[NDB_MGMD]
#設置管理節(jié)點服務器
HostName=10.61.5.52
DataDir=/var/mysql/data
[NDBD]
#設置存儲節(jié)點服務器(NDB節(jié)點)
HostName=10.61.5.53
DataDir=/var/mysql/data
[NDBD]
#第二個NDB節(jié)點
HostName=10.61.5.51
DataDir=/var/mysql/data
[MYSQLD]
#設置SQL節(jié)點服務器
HostName=10.61.5.52
[MYSQLD]
#第二個SQL節(jié)點
HostName=10.61.5.53
管理節(jié)點啟動
[root@localhost?~]#?/usr/local/mysql/bin/ndb_mgmd?-f?/var/lib/mysql-cluster/config.ini
[root@localhost?~]#?mkdir?/var/mysql/logs
[root@localhost?~]#?netstat?-lntpu
看到tcp?0?0?0.0.0.0:1186開放說明啟動正常
開啟管理節(jié)點服務器的1186端口
管理節(jié)點檢驗
執(zhí)行以下操作:
在/usr/local/mysql/bin下執(zhí)行??./ndb_mgm??????//?管理節(jié)點
--?NDB?Cluster?--?Management?Client?--
ndb_mgm>?show
Connected?to?Management?Server?at:?localhost:1186
Cluster?Configuration
---------------------
[ndbd(NDB)]?????2?node(s)
id=2?(not?connected,?accepting?connect?from?192.168.15.234)
id=3?(not?connected,?accepting?connect?from?192.168.15.235)
[ndb_mgmd(MGM)]?1?node(s)
id=1????@192.168.15.231??(mysql-5.5.22?ndb-7.2.6)
[mysqld(API)]???2?node(s)
id=4?(not?connected,?accepting?connect?from?192.168.15.232)
id=5?(not?connected,?accepting?connect?from?192.168.15.233)
管理節(jié)點關閉
[root@localhost?/]#?/usr/local/mysql/bin/ndb_mgm?-e?shutdown
#成功后終端打印出以下信息
Connected?to?Management?Server?at:?192.168.15.236:1186
1?NDB?Cluster?node(s)?have?shutdown.
Disconnecting?to?allow?management?server?to?shutdown.
數(shù)據(jù)節(jié)點
數(shù)據(jù)節(jié)點安裝
數(shù)據(jù)節(jié)點1:?10.61.5.52
數(shù)據(jù)節(jié)點2:?10.61.5.53
[root@localhost?/]#?groupadd?mysql
[root@localhost?/]#?useradd?mysql?-g?mysql
[root@localhost?/]#?cd?/usr/local
[root@localhost?local]#?tar?-zxv?-f?mysql-cluster-gpl-7.3.8-linux-glibc2.5-x86_64.tar.gz
[root@localhost?local]#?mv?mysql-cluster-gpl-7.2.6-linux2.6-x86_64?mysql
[root@localhost?local]#?chown?-R?mysql:mysql?mysql
[root@localhost?local]#?cd?mysql
[root@localhost?mysql]#?scripts/mysql_install_db?--user=mysql
[root@localhost?mysql]#?cp?support-files/my-medium.cnf?/etc/my.cnf
(此處的my-medium.cnf在對應文件夾下沒有,故跳過沒有操作)
[root@localhost?mysql]#?cp?support-files/mysql.server?/etc/init.d/mysqld
數(shù)據(jù)節(jié)點配置
對數(shù)據(jù)節(jié)點進行配置,執(zhí)行以下操作:
[root@localhost?mysql]#?mkdir?/var/mysql/data
[root@localhost?mysql]#?mkdir?/var/mysql/logs
[root@localhost?mysql]#?vi?/etc/my.cnf
向文件追加以下內(nèi)容:
[MYSQLD]
ndbcluster
ndb-connectstring=10.61.5.51
[MYSQL_CLUSTER]
ndb-connectstring=10.61.5.51
[NDB_MGM]
connect-string=10.61.5.51
mysql起動報錯The?server?quit?without?updating?PID?file?(/usr/local/mysql/data/mysql.pid
http://rabbit2013.blog.51cto.com/6658739/1341055
文件/etc/my.cnf中內(nèi)容如下:
[mysqld]
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysql.pid
socket=/usr/local/mysql/data/mysql.sock
(mysqld中socket不可與數(shù)據(jù)節(jié)點中配置的socket路徑一樣,一樣的話會沖突)
user=mysql
tmpdir=/tmp
#?Disabling?symbolic-links?is?recommended?to?prevent?assorted?security?risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
(日志文件?可查看)
pid-file=/var/run/mysqld/mysqld.pid
[MYSQLD]
ndbcluster
ndb-connectstring=10.61.5.51
port=3307
(端口號默認3306,會與數(shù)據(jù)節(jié)點的沖突,故改為3307)
[MYSQL_CLUSTER]
ndb-connectstring=10.61.5.51
[NDB_MGM]
connect-string=10.61.5.51
數(shù)據(jù)節(jié)點啟動
啟動此處時,管理節(jié)點服務器防火墻必須開啟1186,3306端口。
(網(wǎng)上有對應的資料?可參考http://www.jb51.net/LINUXjishu/63566.html
啟動各節(jié)點之前關閉防火墻?service?iptables?stop)
注意:只是在第一次啟動或在備份/恢復或配置變化后重啟ndbd時,才加–initial參數(shù)!
第一次啟動如下:
[root@localhost?mysql]#?/usr/local/mysql/bin/ndbd?--initial
2013-01-30?13:43:53?[ndbd]?INFO?????--?Angel?connected?to?'10.61.5.51'
2013-01-30?13:43:53?[ndbd]?INFO?????--?Angel?allocated?nodeid:?2
正常啟動方式:
[root@localhost?mysql]#?/usr/local/mysql/bin/ndbd
數(shù)據(jù)節(jié)點關閉
[root@localhost?/]#?/etc/rc.d/init.d/mysqld?stop
或者
[root@localhost?mysql]#?/etc/init.d/mysql?stop
Shutting?down?MySQL..?SUCCESS!
/usr/local/mysql/bin/mysqladmin?-uroot?shutdown
SQL節(jié)點安裝
SQL節(jié)點安裝
sql節(jié)點1:?10.61.5.52
sql節(jié)點2:?10.61.5.53
SQL節(jié)點配置
執(zhí)行以下操作:
[root@localhost?mysql]#?mkdir?/var/mysql/data?????//創(chuàng)建存儲數(shù)據(jù)的文件夾
[root@localhost?mysql]#?mkdir?/var/mysql/logs?????//創(chuàng)建存儲日志的文件夾
[root@localhost?mysql]#?vi?/usr/local/mysql/my.cnf??//修改配置文件
追加以下內(nèi)容:
[MYSQLD]
ndbcluster
ndb-connectstring=10.61.5.51
[MYSQL_CLUSTER]
ndb-connectstring=10.61.5.51
[NDB_MGM]
connect-string=10.61.5.51
文件/etc/my.cnf中添加內(nèi)容如下:
[MYSQLD]
ndbcluster
ndb-connectstring=10.61.5.51
port=3307?(與管理節(jié)點的端口一致)
[MYSQL_CLUSTER]
ndb-connectstring=10.61.5.51
[NDB_MGM]
connect-string=10.61.5.51
SQL節(jié)點啟動
執(zhí)行以下操作:
[root@localhost?mysql]#?service?mysqld?start
Starting?MySQL..?SUCCESS!
SQL節(jié)點關閉
最直接的方式:
[root@localhost?mysql]#?/usr/local/mysql/bin/mysqladmin?-uroot?shutdown
[root@localhost?/]#?/etc/rc.d/init.d/mysqld?stop
或者
[root@localhost?mysql]#?/etc/init.d/mysql?stop
Shutting?down?MySQL..?SUCCESS!
功能測試
在管理節(jié)點(10.61.5.51)上查看服務狀態(tài)
可以看到這里的數(shù)據(jù)節(jié)點、管理節(jié)點、sql節(jié)點都是正常的。
注意:
l?在建表的時候一定要用ENGINE=NDB或ENGINE=NDBCLUSTER指定使用NDB集群存儲引擎,或用ALTER?TABLE選項更改表的存儲引擎。
l?NDB表必須有一個主鍵,因此創(chuàng)建表的時候必須定義主鍵,否則NDB存儲引擎將自動生成隱含的主鍵。
l?Sql節(jié)點的用戶權(quán)限表仍然采用MYISAM存儲引擎保存的,所以在一個Sql節(jié)點創(chuàng)建的MySql用戶只能訪問這個節(jié)點,如果要用同樣的用戶訪問別的Sql節(jié)點,需要在對應的Sql節(jié)點追加用戶。雖然在MySql?Cluster7.2版本開始提供了”用戶權(quán)限共享”。
數(shù)據(jù)同步性測試
在一個數(shù)據(jù)節(jié)點上進行相關數(shù)據(jù)庫的創(chuàng)建,然后到另外一個數(shù)據(jù)節(jié)點上看看數(shù)據(jù)是否同步。
第1步:
SQL節(jié)點1(10.61.5.52)上增加數(shù)據(jù):
[root@localhost?mysql]#??/etc/rc.d/init.d/mysqld?status????????????????//檢驗mysql是否運行
[root@localhost?mysql]#?/etc/rc.d/init.d/mysqld?start???????????????????//啟動mysql
[root@localhost?mysql]#?/usr/local/mysql/bin/mysql?-u?root?-p
Enter?password:
mysql>?show?databases;
mysql>?create?database?testdb2;
mysql>?use?testdb2;
mysql>?CREATE?TABLE?td_test2?(i?INT)?ENGINE=NDB;
//這里必須指定數(shù)據(jù)庫表的引擎為NDBCLUSTER,與配置文件中的名稱相同
mysql>?INSERT?INTO?td_test2()?VALUES?(1);
mysql>?INSERT?INTO?td_test2()?VALUES?(152);
mysql>?SELECT?*?FROM?td_test2;
第2步:
進入到SQL節(jié)點2(10.61.5.53)上查看數(shù)據(jù)
mysql>?use?testdb2;
Database?changed
mysql>?SELECT?*?FROM?td_test2;
+------+
|?i????|
+------+
|??126?|
|????1?|
+------+
2?rows?in?set?(0.01?sec)
查看表的引擎是不是NDB:
>show?create?table?td_test2;
第3步:
反向測試,SQL節(jié)點2(10.61.5.53)上增加數(shù)據(jù):
mysql>?create?database?bb;
mysql>?use?bb;
mysql>?CREATE?TABLE?td_test3?(i?INT)?ENGINE=NDB;
mysql>?INSERT?INTO?td_test3?()?VALUES?(98);
mysql>?SELECT?*?FROM?td_test3;
SQL節(jié)點1(190.61.5.52)上查看數(shù)據(jù):
mysql>??use?bb;
Database?changed
mysql>??SELECT?*?FROM?td_test3;
+------+
|?i????|
+------+
|???98?|
+------+
1?row?in?set?(0.00?sec)
關閉集群
先關閉管理節(jié)點,然后關閉SQL節(jié)點和數(shù)據(jù)節(jié)點。
集群啟動操作順序
要再次啟動集群,按照以下順序執(zhí)行:
管理節(jié)點?->?數(shù)據(jù)節(jié)點?–>?SQL節(jié)點?注意:此次啟動數(shù)據(jù)節(jié)點時不要加”–initial”參數(shù)。
安裝及測試中的錯誤
啟動中的錯誤
錯誤提示:
1、曾經(jīng)試圖將mysql集群安裝到自定義的路徑下,但是在啟動節(jié)點時總是出現(xiàn)‘cannot?open?/usr/local/mysql/data....’等錯誤,網(wǎng)上查詢說是權(quán)限的問題,最后一致修改權(quán)限,無果。將安裝路徑改到了?/usr/local/mysql/。
2、mysql起動報錯The?server?quit?without?updating?PID?file?(/usr/local/mysql/data/解決:
3、集群安裝參考:
4、Can't?connect?to?local?MySQL?server?through?socket?'/tmp/mysql.sock'?(2)
解決辦法1(端口占用)?netstat?-anp?|grep?3306
kill?-9?進程號
解決辦法1(權(quán)限問題)?[root@localhost?mysql]#?chown?-R?mysql:mysql?/var/mysql??????????//修改自定義文件夾的訪問權(quán)限
5、測試的時候輸入命令:/usr/local/mysql/bin/mysql?-u?root?-p
出現(xiàn)錯誤:?ERROR?2002?(HY000):?Can’t?connect?to?local?MySQL?server?through?socket?‘/var/lib/mysql/mysql.sock’?(2)
linux#?????ln?-s?/var/lib/mysql/mysql.sock?/tmp/mysql.sock
6、按照數(shù)據(jù)同步性測試步驟進行測試時:
第一步可以,第二步在以/usr/local/mysql/bin/mysql?-u?root?-p
進入數(shù)據(jù)庫53時輸入use?testdb2;時出現(xiàn)error,后來輸入\q退出后,使用/usr/local/mysql/bin/mysql?-u?‘’?-p再次進入時可用testdb2.
第三步中,53以root進去之后,建數(shù)據(jù)庫表后,在52上直接可以訪問。才是在53上以root也可訪問52上的東西。
總結(jié)
以上是生活随笔為你收集整理的mysql设置success信息_【原创】MySQL Cluster安装部署(Success)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 365天存钱计划能存多少
- 下一篇: 影响原油期货价格的因素有很多,这个因素容