centos7 mysql集群
centos7 mysql集群
本文基于3臺虛擬機(jī)搭建mysql集群,一臺管理節(jié)點(diǎn),兩臺數(shù)據(jù)節(jié)點(diǎn)
1.安裝mysql集群版(如果已經(jīng)裝有其他版本,先卸載)
下載地址:?https://dev.mysql.com/downloads/cluster/? ?
我選擇的是linux-generic版本
# 進(jìn)入安裝目錄 cd /usr/local # 下載 wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.6/mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz # 解壓 tar xvf mysql-cluster-gpl-7.6.7-linux-glibc2.12-x86_64.tar.gz重點(diǎn): 這一步管理節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的機(jī)器都需要操作
2.配置mysql管理節(jié)點(diǎn)
# 將執(zhí)行文件復(fù)制到用戶執(zhí)行目錄下 方便之后可以直接執(zhí)行運(yùn)行命令 cp bin/ndb_mgm* /usr/local/bin cd /usr/local/bin # 添加執(zhí)行權(quán)限 chmod +x ndb_mgm* # 新建數(shù)據(jù)存放目錄 mkdir /var/lib/mysql-cluster. # 新建mysql目錄 mkdir /usr/local/mysql # 新增配置文件并編輯 vi /var/lib/mysql-cluster/config.ini配置如下
[ndbd default] NoOfReplicas=2 DataMemory=512M IndexMemory=18M[ndb_mgmd] HostName=172.16.12.29 #管理節(jié)點(diǎn)ip 即當(dāng)前ip DataDir=/var/lib/mysql-cluster [ndbd] HostName=172.16.12.27 #數(shù)據(jù)節(jié)點(diǎn)ip DataDir=/var/lib/mysql-cluster[ndbd] HostName=172.16.12.28 #數(shù)據(jù)節(jié)點(diǎn)ip DataDir=/var/lib/mysql-cluster[mysqld] [mysqld] # 初始化管理節(jié)點(diǎn) ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial # 查詢端口是否開放 firewall-cmd --zone=public --query-port=1186/tcp # 如果沒有則執(zhí)行以下命令 開放端口firewall-cmd --zone=public --add-port=1186/tcp --permanentfirewall-cmd --reload3.配置數(shù)據(jù)節(jié)點(diǎn)
# 新增mysql用戶組groupadd mysql # 新增mysql用戶 并禁止該用戶用于登錄useradd -g mysql -s /bin/false mysql # 創(chuàng)建mysql數(shù)據(jù)文件目錄mkdir /var/lib/mysql-cluster # 分配權(quán)限chown root:mysql /var/lib/mysql-cluster # 進(jìn)入bin目錄 cd /usr/local/mysql-cluster-gpl-7.6.7-linux-glibc2.12-i686/bin # 執(zhí)行mysql初始化 ./mysqld --initialize # 回到安裝目錄 cd /usr/local/mysql-cluster-gpl-7.6.7-linux-glibc2.12-i686 # 分配權(quán)限 chown -R root . chgrp -R mysql . # 注冊mysql服務(wù) cp support-files/mysql.server /etc/rc.d/init.d/ chmod +x /etc/rc.d/init.d/mysql.server chkconfig --add mysql.server # 配置數(shù)據(jù)節(jié)點(diǎn) vi /etc/my.cnf配置如下
[mysqld] ndbcluster # 管理節(jié)點(diǎn)ip ndb-connectstring=172.16.12.29 [mysql_cluster] # 管理節(jié)點(diǎn)ip ndb-connectstring=172.16.12.29 # 啟動服務(wù) /etc/init.d/mysql.server start注意: 如果報(bào)錯(cuò)?mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'? ? ?則執(zhí)行以下命令
# 創(chuàng)建日志文件 并分配權(quán)限 mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb/如果又報(bào)錯(cuò)?Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.pid).則執(zhí)行以下
# 分配權(quán)限 chown -R mysql:mysql /var/lib/mysql# 初始化數(shù)據(jù)節(jié)點(diǎn) /usr/local/mysql/bin/ndbd --initial # 將執(zhí)行文件放到usr/local/bin下 方便執(zhí)行 cp /usr/local/mysql/bin/ndbd /usr/local/bin/
到此就結(jié)束了,回到管理節(jié)點(diǎn)機(jī)器,運(yùn)行以下命令
# 進(jìn)入管理控制臺 ndb_mgm # 展示節(jié)點(diǎn) 可以看到已連接上的數(shù)據(jù)節(jié)點(diǎn) show之后在數(shù)據(jù)節(jié)點(diǎn)新增數(shù)據(jù)庫和表,都會同步到另外一個(gè)數(shù)據(jù)節(jié)點(diǎn)中,表引擎要設(shè)置為NDBCLUSTER
啟動方式
管理節(jié)點(diǎn)? ? 執(zhí)行以下命令
ndb_mgm數(shù)據(jù)節(jié)點(diǎn)? ? 執(zhí)行以下命令
ndbd?
總結(jié)
以上是生活随笔為你收集整理的centos7 mysql集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的专业我的梦作文计算机,我的世界,我的
- 下一篇: Java基础--用程序模拟打怪游戏