视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQLCluster安装与配置
2020-11-09 07:50:40 责编:小采
文档


http://dev.mysql.com/downloads/cluster/ 选择 linux generic 下载位系统用的。 mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86

选择 linux generic 下载位系统用的。

mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_.tar.gz

开始看结合右侧目录结构树找到了对应的资料:

照着弄。机器只有2台腾讯云的2个微型配置的。

内网地址分别为 10.232.44.174 和 10.232.4.93 分别当一个data node 和 sql node ,前者还用于管理节点。

可以知道这个包解压之后 就相当于 安装普通的mysql tar.gz包 编译安装后的目录。所以直接拿来用。(不然也不应该有400多m)。

tar -C /usr/local mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_.tar.gz

名字太长太丑,做个软链接。多弄几个也行。(之前的环境用阿里云的一个脚本安装的,mysql在 /alidata/server 下,不在/usr/local下。)

ln -s /usr/local/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_ /usr/local/mysql

ln -s /usr/local/mysql-cluster-gpl-7.3.5-linux-glibc2.5-x86_ /usr/local/mysql-cluster

配置过程中碰到几个坑的问题:

1.因之前装过mysql 所以想用之前的作为sql节点。

(要如何让加载的配置文件、端口号设置成不一样)
开始想一个myndb.cnf 但是后来找了好长时间才找到mysqld_safe 启动时有参数 –defaults-file。

后来发现原来的sql目录不能用于集群的sql节点。(可能会很麻烦,不尝试了。)

又在/usr/local/mysql-cluster/ 下按照常规初始化mysql一样。
scripts/mysql_install_db –user=mysql 输出屏幕的信息说明了可以用–defaults-file 指定配置文件.(要多看英文)

2.第二台机器忘了做 mysql_install_db那块操作,加载/etc/myndb.cnf 启动老是报错。看日志/usr/local/mysql-cluster/data/error.err说的一堆plugin 没有。郁闷了好长时间才发现原来没有初始化数据库。

3.新的这个mysqld 启动就看见在管理节点输出 数据节点端口的信息。输出
Forced node shutdown completed. Occured during startphase 0. Initiated by signal 9.
查资料发现是内容不足引起的,想到用 support_files/my-small.cnf 把这个里面mysqld配置的一些参数拷贝过来放这里面再启动就好了。应该是默认占的内容比较大,这垃圾机器本来就没多少内存。

note:
其他关于拷贝 mysql 脚本到 init.d 子类的都没做,因为不想破坏之前装的mysql。启动的话就直接多打点路径,杀掉就 kill 进程号。

为不影响原来的mysqld 设置了不同的socket ,port , 指定目录等参数。
[root@VM_44_174_CentOS ~]# cat /etc/myndb.cnf
[client]
port = 3366
socket = /tmp/mysql_ndb.sock

[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
basedir=/usr/local/mysql-cluster
datadir=/usr/local/mysql-cluster/data
plugin-dir=/usr/local/mysql-cluster/lib/plugin
user=mysql
log-error=/usr/local/mysql-cluster/data/error.err
pid-file=/usr/local/mysql-cluster/data/pid.pid
socket=/tmp/mysql_ndb.sock
port=3366

#优化占用内存 解决了后来 已启动sql节点 数据节点就断开的情况。因为内存不足了。
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

[mysql_cluster]
# Options for MySQL Cluster processes:
ndb-connectstring=10.232.44.174 # location of management server

管理显示:

ndb_mgm> show

Cluster Configuration
———————
[ndbd(NDB)] 2 node(s)
id=2 @10.232.44.174 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=3 @10.232.4.93 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.232.44.174 (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)] 2 node(s)
id=4 @10.232.44.174 (mysql-5.6.17 ndb-7.3.5)
id=5 @10.232.4.93 (mysql-5.6.17 ndb-7.3.5)

管理节点:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini –configdir=/var/lib/mysql-cluster
ndb_msgm
show

如果修改了config.ini 要使重新生效应该mgmd有参数 我没仔细找,直接删除 /var/lib/mysql-cluster/ 下面生成的 ndb开头的所以文件。再启动就生效了。

数据节点:
ndbd –initial

上面mgmd启动之后 就在各数据节点连接,请求分配id。之后再连接就直接 ndbd。

sql节点:
/usr/local/mysql/bin/mysqld_safe –user=mysql &
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/myndb.cnf & 可以这样指定加载配置文件

mysql -S /tmp/mysql_ndb.sock -uroot -p

sql node: /usr/local/mysql 下执行 或者指定参数 –basedir=/usr/local/mysql –datadir=/usr/local/mysql
scripts/mysql_install_db –user=mysql 再启动

grant all privileges on *.* to ‘wordpress’@'%’ identified by ‘wordpress’;
grant all privileges on *.* to ‘wordpress’@'localhost’ identified by ‘wordpress’;
flush privileges;

关于测试 数据节点和sql节点 某个环节坏了,数据可用性测试过了,,网上很多测试例子。

图文教程:

现在机器mysql信息 ps -ef | grep mysql

[root@VM_44_174_centos ~]# ps -ef |grep mysql
root 3594 1 0 16:06 ? 00:00:56 ndb_mgmd -f /var/lib/mysql-cluster/config.ini –configdir=/var/lib/mysql-cluster
root 10331 267 0 17:48 pts/4 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/myndb.cnf
mysql 10618 10331 0 17:48 pts/4 00:00:21 /usr/local/mysql/bin/mysqld –defaults-file=/etc/myndb.cnf –basedir=/usr/local/mysql-cluster –datadir=/usr/local/mysql-cluster/data –plugin-dir=/usr/local/mysql-cluster/lib/plugin –user=mysql –log-error=/usr/local/mysql-cluster/data/error.err –pid-file=/usr/local/mysql-cluster/data/pid.pid –socket=/tmp/mysql_ndb.sock –port=3366
root 10980 1 0 17:55 pts/4 00:00:00 /bin/sh /alidata/server/mysql/bin/mysqld_safe –datadir=/alidata/server/mysql/data –pid-file=/alidata/server/mysql/data/VM_44_174_centos.pid
mysql 11221 10980 0 17:55 pts/4 00:00:01 /alidata/server/mysql/bin/mysqld –basedir=/alidata/server/mysql –datadir=/alidata/server/mysql/data –plugin-dir=/alidata/server/mysql/lib/plugin –user=mysql –log-error=/alidata/server/mysql/data/VM_44_174_centos.err –pid-file=/alidata/server/mysql/data/VM_44_174_centos.pid –socket=/tmp/mysql.sock –port=3306
root 11413 31036 0 18:00 pts/1 00:00:00 mysql -S /tmp/mysql_ndb.sock
root 13980 267 0 19:53 pts/4 00:00:00 grep mysql

下载本文
显示全文
专题