20170409-mysql集群

管理节点:192.168.126.136   数据节点:192.168.126.138 192.168.126.139

SQL节点:192.168.126.138 192.168.126.139

包:mysql-cluster-community-7.5.5-1.el6.x86_64.rpm-bundle.tar

管理节点192.168.126.136:mkdir /opt/soft/mysql -p

cd /opt/soft/mysql 

mv mysql-cluster-community-7.5.5-1.el6.x86_64.rpm-bundle.tar /opt/soft/mysql

tar xvf mysql-cluster-community-7.5.5-1.el6.x86_64.rpm-bundle.tar

mkdir yum

mv *.rpm yum

cd yum

yum install createrepo -y

将rpm包做为yum源:createrepo  .

vim /etc/yum.repo.d/iso.repo

 [mysql-cluster]

 name=mysql cluster

 baseurl=file:///opt/soft/mysql/yum

gpgcheck=0

enabled=1

保存退出

yum install mysql-cluster-community-management-server

mkdir /etc/mysqlc

mkdir /var/lib/mysqlc

vim /etc/mysqlc/config.ini

  1 [ndbd default]
  2 NoOfReplicas=2
  3 datadir=/var/lib/mysqlc
  4 
  5 [ndbd]
  6 hostname=192.168.126.138
  7 
  8 [ndbd]
  9 hostname=192.168.126.139
 10 
 11 [ndb_mgmd]
 12 hostname=192.168.126.136
 13 datadir=/var/lib/mysqlc
 14 
 15 [mysqld]
 16 hostname=192.168.126.138
 17 
 18 [mysqld]
 19 hostname=192.168.126.139
 20 

 ndb_mgmd -f /etc/mysqlc/config.ini --configdir=/etc/mysqlc/ --initial 第一次加 --initial 以后修改配置文件才加

查看进程起起来没有: ps -ef | grep  ndb_mgmd

安装这个包可以查看数据节点和SQL节点链接的信息:yum install mysql-cluster-community-client

先执行:ndb_mgm 然后输入:show

131442_L87R_3217381.png

可以在管理端通过ftp将yum源共享出来:

yum install vsftpd -y

vim /etc/vsftpd/vsftpd.conf

anon_root=/opt/soft/

anon_world_readable_only=No

保存退出

service vsftpd restart

数据节点和SQL节点:192.168.126.138

vim /etc/yum.repo.d/iso.repo

[mysql]
name=mysql cluster
baseurl=ftp://192.168.126.136/mysql/yum
gpgcheck=0
enabled=1

保存退出

yum search mysql-cluster

yum install mysql-cluster-community-data-node.x86_64

mkdir /var/lib/mysqlc

ndbd -c 192.168.126.136:1186  --initial 第一次加initial以后就不加了,不然之前数据库表就没了,默认管理端ndb_mgmd 是通过tcp协议监听的1186端口

yum install mysql-cluster-community-server.x86_64

vim /etc/my.cnf

character-set-server=utf8 加上这个在mysql建立库,表的时候就不用指定默认字符集了

ndbcluster
ndb-connectstring=192.168.126.136:1186
server-id=2 加id是为了区别登录的数据库是那台机子的,当机了也清楚是哪台,也可以不加

保存退出

service mysqld restart 

vim /etc/my.cnf

加:validate-password=OFF 或者vaildate_password_policy=0 这里是控制密码强度,不加的话密码会很复杂不方便,第一次不加是因为才装的没起服务,还没有下载密码强度认证的模块,所以要先让服务重启,下载这个模块才能识别。

保存退出

service mysqld restart

改数据库root密码,可通过安全设置改,mysql 5.7会产生随机密码在 /var/log/mysql.log

取出密码: grep 'temp.*pass' var/log/mysql.log |tail -1 |awk '{print $NF}'

mysql_secure_installation

输入这里取到的密码,将密码改了,除了设置密码这里,其他都选yes

mysql -uroot -p123456 上面设置的密码为:123456

建用户授权: grant all on *.* to mysqlcluster@'%' identified by 'clusterpasswd';

建表的engine必须为ndb不然另一个SQL节点的mysql不能获取到表

create table t01 (id int primary key auto_increment, name char(128) not null, email varchar(256) default "up.admin.com") engine ndb;

如果表以及建立好了就修改: alter table t01 engine ndb;

查看engine: show create table t01;

数据节点和SQL节点:192.168.126.139

配置和192.168.126.138基本一样

就是 vim /etc/my.cnf

server-id=2  这个最好不一样,便于区分

建立用户授权要一样,用户和密码都要一样,即:

grant all on *.* to mysqlcluster@'%' identified by 'clusterpasswd';

这样在2台服务器中的任意一台数据库操作的信息都能同步到另外一台。

在管理端测试:

mysql -umysqlcluster -pclusterpasswd -h 192.168.126.138 -P3306 -e 'show variables like "server_id"'

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     |
+---------------+-------+

 

mysql -umysqlcluster -pclusterpasswd -h 192.168.126.139 -P3306 -e 'show variables like "server_id"'

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     |
+---------------+-------+
 

对用户实现透明代理:

这里在管理端192.168.126.136做: 先在mysql官网下载rpm包:

mysql-router-2.0.4-1.el6.x86_64.rpm

yum install mysql-router-2.0.4-1.el6.x86_64.rpm

vim /etc/mysqlrouter/mysqlrouter.ini

 37 [routing:abc]
 38 bind_address = 0.0.0.0
 39 bind_port = 3333
 40 mode = read-only  也可以写: mode = read-write only: 轮循 2个数据库论着连, write:默认练下面写的第一个,第一个当机了,才会连第二个,一般only模式用的比较多
 41 destinations = 192.168.126.138:3306, 192.168.126.139:3306

保存退出

service mysqlrouter restart

mysql -umysqlcluster -pclusterpasswd -h 192.168.126.136 -P 3333 -e 'show variables like "server_id"'

143853_03p5_3217381.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3217381/blog/875623

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值