一、环境准备(Centos7,mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz) 卸载以前安装的Mysql 或者 mariadb yum -y remove mysql* yum -y remove mariadb*二、停用安全策略seLinux,关闭防火墙或者开启3306,1186端口 建议使用防火墙保证安全性 关闭防火墙 systemctl stop firewalld 或者 chkconfig --level 35 iptables off 禁用防火墙 systemctl disable firewalld 永久禁用安全策略(需要重启) vi /etc/selinux/config SELINUX=disabled (centos6) vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #DROP关闭 -A INPUT -p tcp -m state --state NEW -m tcp --dport 2202 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1186 -j ACCEPT /etc/init.d/iptables restart setenforce 0 (centos7) firewall-cmd --add-port=2202/tcp --zone=public --permanent firewall-cmd --add-port=3306/tcp --zone=public --permanent firewall-cmd --add-port=1186/tcp --zone=public --permanent firewall-cmd --reload setenforce 0三、安装 管理节点:192.168.1.140 数据节点1:192.168.1.130 数据节点2:192.168.1.135 sql节点1:192.168.1.130 sql节点2:192.168.1.135 每个节点上 压缩包上传解压 比如上传至/usr/local tar -xzvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz 3.1 管理节点安装 cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 cd bin #ndb管理节点相关文件 cp ndb_mgm* /usr/local/bin cd /usr/local/bin #增加执行权限 chmod +x ndb_mgm* #创建配置文件 mkdir /var/lib/mysql-cluster mkdir /usr/local/mysql vi /var/lib/mysql-cluster/config.ini #默认配置 [ndbd default] NoOfReplicas=2 #数据节点数量 DataMemory=5120M #存储大小,内存的合适大小 IndexMemory=128M #索引存储大小 ServerPort=1186 #端口默认1186 #管理节点 [ndb_mgmd] nodeid=1 #节点ID HostName=192.168.1.140 #管理节点地址 DataDir=/var/lib/mysql-cluster #(内存)数据目录 #数据节点 [ndbd] nodeid=21 #节点ID HostName=192.168.1.130 #数据节点地址 DataDir=/var/lib/mysql-cluster #(内存)数据目录
[ndbd] nodeid=22 HostName=192.168.1.135 DataDir=/var/lib/mysql-cluster #sql节点 [mysqld] nodeid=31 HostName=192.168.1.130 #sql节点地址,可访问 [mysqld] nodeid=32 HostName=192.168.1.135 3.2 数据节点和sql节点安装配置 3.2.1 数据节点配置 #拷贝文件 cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 cd bin cp ndbd /usr/local/bin #创建目录(注意和管理节点配置文件保持一致) mkdir -p /var/lib/mysql-cluster #创建配置文件 vi /etc/my.cnf [mysql_cluster] #配置数据节点连接管理节点 ndb-connectstring=192.168.1.140 3.2.2 sql节点配置 #新增用户组mysql和用户msyql groupadd mysql useradd -g mysql -s /bin/false mysql #将解压的文件重命名 mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql #初始化数据库 cd /usr/local/mysql/bin/ ./mysqld --initialize #(旧版本scripts/mysql_install_db --user=mysql)注意记录临时密码 #修改权限
cd .. chown -R root . chown -R mysql data chgrp -R mysql . #添加服务 cp support-files/mysql.server /etc/rc.d/init.d/ chmod +x /etc/rc.d/init.d/mysql.server #添加开机启动 chkconfig --add mysql.server #配置数据节点 vi /etc/my.cnf #申明是sql节点,其中的IP为管理节点的IP [mysqld] ndbcluster ndb-connectstring=192.168.1.140 注意:数据节点和sql节点同一台机器按照以下配置即可 #新增用户组mysql和用户msyql groupadd mysql useradd -g mysql -s /bin/false mysql #新建文件夹并赋予权限 #mkdir /var/lib/mysql-cluster #chown root:mysql /var/lib/mysql-cluster #将解压的文件重命名 mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql #初始化数据库 cd /usr/local/mysql/bin/ ./mysqld --initialize #(旧版本scripts/mysql_install_db --user=mysql)注意记录临时密码 #修改权限
cd .. chown -R root . chown -R mysql data chgrp -R mysql . #添加服务 cp support-files/mysql.server /etc/rc.d/init.d/ chmod +x /etc/rc.d/init.d/mysql.server #添加开机启动 chkconfig --add mysql.server
#配置数据节点 vi /etc/my.cnf #申明是sql节点,其中的IP为管理节点的IP [mysqld] ndbcluster ndb-connectstring=192.168.1.140 #申明是数据节点,其中的IP为管理节点的IP [mysql_cluster] ndb-connectstring=192.168.1.140四、启动和关闭(注意下面顺序不能变) 启动:(相关可执行文件路径视安装路径而定) 管理节点--》数据节点--》sql节点 注意--initial参数在初始化或者需要恢复或者配置文件发生变化是需要 管理节点:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial 数据节点:/usr/local/mysql/bin/ndbd --initial sql节点:service mysql start 或者service mysqld start 关闭: sql节点--》管理节点 sql节点 关闭sql服务即可 管理节点:/usr/local/bin/ndb_mgm mgm>shutdown 查看状态: 管理节点:/usr/local/bin/ndb_mgm mgm>show #所有节点连接正常时即正常五、改密并开启远程访问:sql节点 初始密码登录 mysql -u root -p set password=password('root@neusoft'); grant all privileges on *.* to root@'%' identified by 'root@neusoft'; FLUSH PRIVILEGES;六、注意 NDB 默认引擎 ndbcluster,否则不同步 可在配置成功后my.cnf 添加default-storage-engine=ndbcluster七、附加 添加可执行文件路径 添加执行文件路径 #当前用户(/etc/profile 所有用户生效) vi ~/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
转载于:https://www.cnblogs.com/zhshto/p/6846197.html
相关资源:JAVA上百实例源码以及开源项目