mysql 集群搭建,使用nginx代理

wegt https://cdn.mysql.com//Downloads/MySQL-Cluster-7.6/mysql-cluster-gpl-7.6.14-el7-x86_64.tar.gz
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config
groupadd mysql
useradd mysql -g mysql
tar -zxvf mysql-cluster-gpl-7.6.14-el7-x86_64.tar.gz -C /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
su - mysql
cd /usr/local/mysql && scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
##########################################
##########################################管理节点
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
cat >> config.ini<<EOF
[NDBD DEFAULT]
NoOfReplicas=2
[NDB_MGMD]
#设置管理节点服务器
nodeid=1
HostName=192.168.1.13
DataDir=/var/lib/mysql-cluster
[NDBD]
id=2
HostName=192.168.1.13
DataDir=/usr/local/mysql/data
[NDBD]
id=3
HostName=192.168.1.14
DataDir=/usr/local/mysql/data
[MYSQLD]
id=4
HostName=192.168.1.15
[MYSQLD]
id=5
HostName=192.168.1.16
#必须有空的mysqld节点,不然数据节点断开后启动有报错
[MYSQLD]
id=6
[mysqld]
id=7
EOF

chown -R mysql:mysql /var/lib/mysql-cluster
su - mysql
/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
##########################################数据节点
cat >>/etc/my.cnf<<EOF

vim /etc/my.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
default-storage-engine=ndbcluster
ndbcluster
ndb-connectstring=192.168.1.14
character_set_server=utf8
lower_case_table_names=1
[mysql_cluster]
ndb-connectstring=192.168.1.13
EOF

su - mysql
/usr/local/mysql/bin/ndbd --initial
##########################################SQL节点
cat >>/etc/my.cnf<<EOF

vim /etc/my.cnf

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
user=mysql
ndb-connectstring=192.168.1.16
[mysql_cluster]
ndb-connectstring=192.168.1.17
EOF

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
su - mysql
systemctl restart mysqld.service
/usr/local/mysql/bin/mysqladmin -u root password ‘password’
####测试显示效果
ndb_mgm> show
##########################################nginx install
wget http://nginx.org/download/nginx-1.18.0.tar.gz && tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0 && ./configure –with-stream && make && make install
cat >nginx.conf<<EOF
#user nobody;
user root;
worker_processes auto;
#error_log /var/log/nginx/error.log;
#pid /var/run/nginx.pid;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
stream {
upstream mysqld {
server 10.16.8.193:3306 weight=4 max_fails=3 fail_timeout=30s;
server 10.16.8.194:3306 weight=5 max_fails=3 fail_timeout=30s;
}
server {
listen 3306;
proxy_connect_timeout 30s;
proxy_timeout 43200s;
proxy_pass mysqld;
}
}
http {
include mime.types;
default_type application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';
#access_log  logs/access.log  main;
sendfile        on;
#tcp_nopush     on;
#keepalive_timeout  0;
keepalive_timeout  65;
max_ranges 1;
upstream myproject {
    server 10.16.8.191:8082;
    server 10.16.8.192:8082;
}
server {
    listen 9300;
    server_name localhost;
    location / {
        proxy_pass http://myproject;
    }
}
#gzip  on;
server {
    listen       80;
    server_name  localhost;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
max_ranges 1;
    location / {
        root   html;
        index  index.html index.htm;
    max_ranges 1;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    max_ranges 1;
    }

}

}
EOF
##################################################
ndb_mgmd管理命令:/usr/local/mysql/bin/ndb_mgm执行之后就是管理控制台了,里面可以继续输入命令。(具体命令可以使用help查看)
停止集群服务器的命令:/usr/local/mysql/bin/ndb_mgm -e shutdown
如果集群配置有更新了:rm /usr/local/mysql/mysql-cluster/ndb_1_config.bin.1 3
停止SQL节点的命令:/usr/local/mysql/bin/mysqladmin -uroot shutdown

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值