加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql主机 MySQL 集群环境搭建 | 资料

发布时间:2023-01-05 08:30:54 所属栏目:MySql教程 来源:互联网
导读: 1.2 集群 MySQL中名称概念
1)Sql 结点(SQL node—下图对应为 mysqld):分布式数据库。包括自身数据和查询中心结点数据
2)数据结点(Data node – ndbd):集群共享数据(内存中)
3)管理

1.2 集群 MySQL中名称概念

1)Sql 结点(SQL node—下图对应为 mysqld):分布式数据库。包括自身数据和查询中心结点数据

2)数据结点(Data node – ndbd):集群共享数据(内存中)

3)管理服务器(Management Server – ndb_mgmd):集群管理 SQL node,Data node

详情见下图:

连接到mysql主机_mysql主机_mysql数据库主机

1.3环境配置

1)至少2台Linux服务器,后面的例子是3台Linux服务器

mysql数据库主机_连接到mysql主机_mysql主机

如果只有2台的话,那么其中一台机器就要多一个角色:Management Server

2)MySQL集群版本安装程序,分32位和64位版本mysql主机,最新版本请在里面下载

2 安装

不管是Management Server,还是Data node、SQL node,都需要先安装MySQL集群版本,然后根据不用的配置来决定当前服务器有哪几个角色。

安装之前准备好mysql用户和mysql用户组,相关命令:

groupadd mysql

useradd mysql -g mysql

确定相关机器的防火墙已关闭(或者设置防火墙这几台机器之间的网络连接是畅通无阻的),相关命令:

chkconfig iptables off

service iptables stop

2.1 安装MySQL集群版本

1)把mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686.tar.gz(这是32位安装版,64位安装版:mysql-cluster-advanced-7.3.2-linux-glibc2.5-x86_64.tar.gz)上传到/usr/local

2)解压:tar zxvf mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686.tar.gz

3)重命名:mv mysql-cluster-advanced-7.3.2-linux-glibc2.5-i686 mysql

4)授权:chown -R mysql:mysql mysql

5)切换到mysql用户:su – mysql

6)切换目录到mysql:/usr/local/mysql

7)安装mysql:scripts/mysql_install_db --user=mysql

2.2 配置Management Server

1)使用root账号创建目录:mkdir /var/lib/mysql-cluster

2)新建文件config.ini然后上传到mysql-cluster里面:

mysql数据库主机_mysql主机_连接到mysql主机

连接到mysql主机_mysql数据库主机_mysql主机

3)授权:chown -R mysql:mysql /var/lib/mysql-cluster

4)切换到mysql用户:su – mysql

5)启动管理服务:/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

6)查看服务是否正常启动:netstat –lntpu

打印:

tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 2437/ndb_mgmd

看到1186端口开放了说明启动是正常的

2.3 配置Data Node

1)新建文件my.cnf然后上传到/etc里面:

mysql数据库主机_mysql主机_连接到mysql主机

(*网上有些资料是直接改/usr/local/mysql/my.cnf,我试了一下,无法启动,估计程序默认是读取/etc/my.cnf)

2)切换到mysql用户:su – mysql

3)启动数据节点服务:/usr/local/mysql/bin/ndbd –initial

第一次启动需要加参数:–initial,以后就不用加了,直接运行:/usr/local/mysql/bin/ndbd

4)查看服务是否正常启动:netstat –lntpu

打印:

mysql主机_mysql数据库主机_连接到mysql主机

看到ndbd了说明启动是正常的

2.4 配置SQL Node

1)新建文件my.cnf然后上传到/etc里面,和上面的Data Node里面的配置一样,如果上面的步骤已经做了,略去此步骤。

2)切换到mysql用户:su – mysql

3)设置管理员密码:

/usr/local/mysql/bin/mysqladmin -u root password '123'

/usr/local/mysql/bin/mysqladmin -u root -h LINUX129 password '123'

上面的命令行里面的123是新密码,LINUX129是机器名,这2条命令来自于安装mysql执行:scripts/mysql_install_db --user=mysql 后的打印日志

4)复制mysqld到系统服务里面去:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

如果权限不够,可以先使用root用户授权:

chown -R mysql:mysql /etc/init.d/mysqld

5)启动SQL节点服务:service mysqld start

或者/etc/init.d/mysqld start

或者/usr/local/mysql/bin/mysqld_safe --user=mysql &

6)查看服务是否正常启动:netstat –lntpu

打印:

tcp 0 0 :::3306 :::* LISTEN 2590/mysqld

看到3306端口开放了说明启动是正常的

3 常用命令或问题

1)ndb_mgmd管理命令:/usr/local/mysql/bin/ndb_mgm

执行之后就是管理控制台了,里面可以继续输入命令。

查看集群里面的全部节点的状态:show

2)停止集群服务器的命令:/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

4)SQL Node上连接MySQL:/usr/local/mysql/bin/mysql -u root –p

执行之后就是MySQL控制台了,里面可以继续输入命令。

mysql主机_mysql数据库主机_连接到mysql主机

mysql主机_连接到mysql主机_mysql数据库主机

同样方式在另外一台SQL Node上连接MySQL,查看数据库、表、记录是否已同步过去。

5)解决MySQL客户端工具连接SQL Node出现1130的异常,在MySQL控制台下执行:

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

6)使用MySQL客户端工具创建表时选择引擎:NDBCLUSTER,如下图:

mysql数据库主机_连接到mysql主机_mysql主机

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!