mysql集群安装及配置

更新时间:2023-09-24 05:05:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一.Mysql集群安装

一.Rpm包准备

从http://dev.mysql.com/downloads下面找到cluster并下载相应的5个安装包。 MySQL-Cluster-gpl-client-*.rpm MySQL-Cluster-gpl-management-*.rpm MySQL-Cluster-gpl-server-*.rpm MySQL-Cluster-gpl-storag-*.rpm MySQL-Cluster-gpl-tools-*.rpm

二.管理节点安装 一.安装管理包

Rpm –ivh MySQL-Cluster-gpl-management-*.rpm Rpm –ivh MySQL-Cluster-gpl-tools-*.rpm

二.编辑配置文件

Vi /etc/lib/mysql-cluster/config.ini 【我用的最简化版本】 [ndbd default] NoOfReplicas=2 DataMemory=80M IndexMemory=18M [tcp default]

SendBufferMemory=2M ReceiveBufferMemory=2M [NDB_MGMD DEFAULT] PortNumber=1186

Datadir=/var/lib/mysql-cluster [ndb_mgmd]

Hostname= 172.18.40.249 [ndbd]

Hostname=172.18.40.149 datadir=/var/lib/mysql/data [ndbd]

HostName=172.18.40.242 datadir=/var/lib/mysql/data [mysqld]

HostName=172.18.40.149 [mysqld]

HostName=172.18.40.242

三.启动管理节点

Ndb_mgmd –f /var/lib/mysql-cluster/config.ini

三.数据节点安装 一.安装存储包

Rpm –ivh MySQL-Cluster-gpl-storag-*.rpm

二.编辑配置文件

Vi /etc/my.cnf

[mysqld] #配置连接管理主机 Max_connections=100

Slow_query_log/var/mysql/slow_query.log Long_query_time=1

Datadir=/var/lib/mysql/data Ndbcluster

Ndb-connectstring=172.18.40.249 [mysql_cluster]

Ndb-connectstring=172.18.40.249

三.启动数据节点

Ndbd – initial #注意仅第一次启动时加入- initial(初始化),其他情况使用ndbd即可

四.Sql节点安装 一.安装SQL包

Rpm –ivh MySQL-Cluster-gpl-server-*.rpm Rpm –ivh MySQL-Cluster-gpl-client-*.rpm

二.编辑配置文件

Vi /etc/mysql.cnf [mysqld] Ndbcluster

Ndb-connectstring=192.168.0.171 #注意是横杠

[mysql_cluster] #注意是下划线 Ndb-connectstring=192.168.0.171

三.启动sql节点

Mysqld_safe

二.群集测试

在管理节点主机上(192.168.0.171) Ndb_mgm Ndb_mgm>show

若显示除了管理节点、数据节点、sql节点的相关信息,表示成功连接并启动了整个集群 数据测试

任何一台SQL节点连接

Mysql

Mysql>create database clustertest; Mysql>use clustertest; Mysql>create table city ( Id int NOT NULL auto_increment, Name char(35), Countrycod char(10), District char(20), Population int, Primary key (id)

) engine=ndbcluster; #使用ndbcluster群集方式进行存储。 Mysql>insert into city values(1,’Bob’,’Hunan’,’Bob’,123456);

再到另外一台SQL节点上连接,并查看数据是是否正常连接且是否可以INSERT, CREATE, DROP等数据插入、查询、删除操作。 正常即可。

三.相关问题及解决

一.启动顺序

Mysql集群启动顺序为:管理节点》数据节点》sql节点,顺序不可乱。 关闭管理节点

Ndb_mgm>1 stop/restart/start 重新加载

Ndb_mgmd –f /var/lib/mysql-cluster/config.ini –reload Ndb节点重启 ndb_mgm>2 stop ; ndbd

SQL节点重启 service mysql stop ; mysqld_safe; service msyql start

二.注意事项

1.Config.ini和my.ini中不能有换行符。

2.service mysql start 出现 “Can't connect to local MySQL server through socket '/tmp/mysql.sock'”

解决办法:改变文件夹权限 chown mysql:mysql /var/lib/mysql 如果仍有问题,尝试以下方法: 1).重启mysql。 #ps -A|grep mysql 显示类似:

1829 ? 00:00:00 mysqld_safe 1876 ? 00:00:31 mysqld #kill -9 1829 #kill -9 1876

#/etc/init.d/mysql restart #mysql -u root -p

2).Config.ini中max_connections=1000 可能太多。减少。

3).解决不能通过mysql .sock连接MySQL问题 这个问题主要提示是,不能通过 '/tmp/mysql .sock'连到服务器,而php标准配置正是用过'/tmp/mysql .sock',但是一些mysql 安装方法 将 mysql .sock放在/var/lib/mysql .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东:

[mysql d]

socket=/var/lib/mysql .sock

改一下就好了,但也会引起其他的问题,如mysql 程序连不上了,再加一点: [mysql ]

socket=/tmp/mysql .sock

或者还可以通过修改php.ini中的配置来使php用其他的mysql .sock来连。 或者用这样的方法:

ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock

成功了,就是这样ln -s /var/lib/mysql /mysql .sock /tmp/mysql .sock OK!

如果系统中没有找到mysql.sock文件,只有mysqld.sock文件,/var/run/mysqld/mysqld.sock

于是仿照上面的做法: ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock 这样,可以正常连接数据库了

3.两台服务器搭载集群,安装管理节点出现“mixing of localhost(default for[NDBD]HostName) with the other hostname(172.18.40.242) is illegal.

解决办法:

config.ini 中多加了一个[ndbd],是为扩展准备的,默认HostName=localhost,删除掉[ndbd]即可。

4.mysql 启动报错 /usr/local/mysql//libexec/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 13) 120516 15:23:19 [ERROR] Can't start server: can't create PID file: Permission denied 解决办法:修改权限

修改 /var/run/mysqld/权限为mysql

Chown -R mysql /var/run/mysqld

chgrp -R mysql /var/run/mysqld

【具体文件位置还需按具体的安装情况考虑】 5.远程连接mysql数据库提示:ERROR 1130

在linux下使用mysql客户端连接远程mysql服务器报错:

[root@Server huage]# mysql -h 88.88.88.88 -P 3306 -u root -p

Enter password:

ERROR 1130 (HY000): Host 'my_wan_ip' is not allowed to connect to this MySQL server

出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。 解决办法:

将远程服务器上的mysql数据库中的user表中root用户所对应的Host字段\改为\即可。

mysql> use mysql

mysql> update user set Host=\mysql> flush privileges; mysql> quit

三.集群重启问题

关闭一个mysql后重新启动,可能集群会出现问题,重启的mysql无法加入集群。 方法:service mysql status ——查看mysql进程号

Kill -s 9 进程号 ——杀掉mysql进程

Mysqld_safe ——不使用msyql或者service mysql start 【稍等一会,20秒左右】

Service mysql start ——启动mysql Mysql ——进入mysql

本文来源:https://www.bwwdw.com/article/ge0d.html

Top