一.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
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新IT计算机mysql集群安装及配置 全文阅读和word下载服务。
相关推荐: