当前位置:文档之家› linux下mysql集群的安装

linux下mysql集群的安装

shell> ln –s /usr/local/mysql-cluster-gpl-7.1.10-linux-i686-glibc23 /usr/local/mysql2.2执行安装脚本:shell> cd mysqlshell> scripts/mysql_install_db –user=mysql2.3修改权限:shell> chown –R root .shell> chown –R mysql datashell> chgrp –R mysql .2.4复制执行文件,加入系统启动项:shell> cp support-files/mysql.server /etc/rc.d/init.d/shell> chmod +x /etc/rc.d/init.d/mysql.servershell> chkconfig –add mysql.server管理节点的安装1.解压安装shell> cd /var/tmpshell> tar –xzvf mysql-cluster-gpl-7.1.10-linux-i686-glibc23.tar.gzshell> cd mysql-cluster-gpl-7.1.10-linux-i686-glibc23shell> cp bin/ndb_mgm* /usr/local/bin2.修改权限shell> cd /usr/local/binshell> chmod +x ndb_mgm*3.配置文件3.1创建数据节点和mysql节点的f配置文件shell> vi /etc/ff内容如下:[mysqld]# Options for mysqld process:ndbcluster # run NDB storage engine ndb-connectstring=192.168.0.10 # location of management server [mysql_cluster]# Options for ndbd process:ndb-connectstring=192.168.0.10 # location of management server3.2创建管理节点的config.ini配置文件shell> mkdir /var/lib/mysql-clustershell> cd /var/lib/mysql-clustershell> vi config.iniconfig.ini内容如下:[ndbd default]# Options affecting ndbd processes on all data nodes:NoOfReplicas=2 # Number of replicasDataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # How much memory to allocate for index storage# For DataMemory and IndexMemory, we have used the # default values. Since the "world" database takes up # only about 500KB, this should be more than enough for # this example Cluster setup.[tcp default]# TCP/IP options:portnumber=2202# port that is free for all the hosts in the cluster # Note: It is recommended that you do not specify the port# number at all and simply allow the default value to be used# instead[ndb_mgmd]# Management process options:hostname=192.168.0.10 # Hostname or IP address of MGM node datadir=/var/lib/mysql-cluster # Directory for MGM node log files [ndbd]# Options for data node "A":# (one [ndbd] section per data node) hostname=192.168.0.30 # Hostname or IP addressdatadir=/usr/local/mysql/data # Directory for this data node's data files[ndbd]# Options for data node "B":hostname=192.168.0.40 # Hostname or IP addressdatadir=/usr/local/mysql/data # Directory for this data node's data files[mysqld]# SQL node options:hostname=192.168.0.20 # Hostname or IP address# (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)4.启动集群1.启动管理服务器:(正常情况下,它们位于/usr/local/mysql/bin目录下)。

shell> ndb_mgmd --config-file=/var/lib/mysql-cluster/config.ini2.启动数据节点。

首次为给定的DB节点启动ndbd时,应使用―—initial‖选项shell> cd /usr/local/mysql/binshell> ./ndbd --initialshell> ./ndbd3.启动mysql节点。

shell> cd /usr/local/mysql/binshell> mysqld_safe --user=mysql &如果要进入mysql客户端shell> ./mysql好了,大功告成。

你要对数据进行任何常规操作,建数据库,建表之类的可以在mysql节点进行,和正常的mysql没有什么区别。

如果要查看集群的状态,可以在管理节点启动管理客户端,用show命令:shell> ndb_mgmndb_mgm> show如果要关闭集群:shell> ndb_mgm –e shutdown集群管理客户端命令ndb_mgm> showndb_mgm> nodeID STOP //关闭节点ndb_mgm> ndoeID START //启动节点ndb_mgm> nodeID RESTART //重启节点ndb_mgm> CREATE NODEGROUP 3,4 //创建组ndb_mgm> ALL REPORT MEMORY //查看内存状态ndb_mgm> START BACKUP NOWAIT //备份数据ndb_mgm> ndb_desc -c 192.168.1.10 -d n ips -pmysql客户端命令mysql> alter online table 'table_name' reorganize partition //增加数据节点后,重新分布数据存储mysql> source PATH/script.sql //执行sql脚本mysql> delimiter // //定义―//‖为分隔符mysql> show procedure status; //查看存储过程mysql> SHOW DATABASES;mysql> SHOW TABLES;mysql> DESCRIBE table_name;mysql> SELECT DATABASE(); //查看当前使用的数据库mysql> select user();mysql> select current_user();mysql> grant all privileges on db.* to newuser@'172.21.30.%' identified by 'pw'; //创建新用户newuser,密码pw,并授权对db数据库的访问在mysql的配置文件f,[mysqld]部分,有时需要添加以下字段,便于连接mysql数据库skip-grant-tablesskip-name-resolvemysql cluster部署方案1:实验方案:1台管理节点,2台mysql节点(A,B),2台数据节点(C,D),1份数据副本。

实验结果:1.成功实现数据的同步。

在mysql节点A上创建一个数据表,在mysql节点B 上可以成功访问。

反之亦然。

2.成功实现数据的分布式存储。

关闭2个数据节点C和D中的任意一个,集群都无法正常访问。

mysql cluster部署方案2:实验方案:1台管理节点,2台mysql节点(A,B),2台数据节点(C,D),2份数据副本。

实验结果:1.成功实现数据的同步。

在mysql节点A上创建一个数据表,在mysql节点B 上可以成功访问。

反之亦然。

2.成功实验数据的运行备份。

关闭2个数据节点C和D中的任意一个,集群仍然可以正常访问。

mysql cluster部署方案3:实验方案:1台管理节点,1台mysql节点(E),4台数据节点(A,B,C,D),2份数据副本。

实验结果:1.成功实验数据的运行备份。

关闭4个数据节点A,B,C,D中的任意一个,集群仍然可以正常访问。

关闭4个数据节点中某两个存储不同数据块的数据节点,集群仍然可以正常访问。

关闭4个数据节点中某两个存储相同数据块,或者3个以上数据节点,集群无法访问。

相关主题