ubuntu10.10下mysql5.1集群配置

    技术2025-10-11  10

    一、环境 server1:192.85.1.5 server2:192.85.1.4 server3:192.85.1.9 二、集群方案 1.管理节点:server1 2.存储节点:server2,server3 3.SQL节点:server2,server3

     

    三、在http://www.mysql.com/downloads/mirror.php?id=397968#mirrors上下载mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz,将该文件上传到服务器上,比如/home/zichen/下

    四、安装,配置

     

    shell> sudo groupadd mysql

    shell> sudo useradd -g mysql mysql

    shell> sudo cd /usr/local

     

    shell> sudo tar -xvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz

     

    shell> sudo ln -s mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz mysql #ln命令生成到该目录的一个符号链接

     

    shell> cd mysql

     

    shell> sudo scripts/mysql_install_db --user=mysql #mysql_install_db脚本,用来初始化mysql数据库的 授权表,其中贮存了服务器访问允许。

     

    shell> sudo chown -R root  .   #将文件的所有属性改为root用户

     

    shell> sudo chown -R mysql data  #将数据目录的所有属性改为mysql用户

     

    shell> sudo chgrp -R mysql .    #将组属性改为mysql

    在server2,server3上上配置my.cnf

    sudo nano /etc/my.cnf

    在结尾增加:

     程序代码 [mysqld] ndbcluster ndb-connectstring=192.85.1.5 [MYSQL_CLUSTER] ndb-connectstring=  192.85.1.5 在管理节点:server1:192.85.1.5上进行配置  程序代码 #mkdir –p /usr/local/mysql/mysql-cluster/ #cd /usr/local/mysql/mysql-cluster #vim config.ini [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] #设置管理节点服务器 [NDB_MGMD] hostname=192.85.1.5 #MGM上保存日志的目录 datadir=/usr/local/mysql/mysql-cluster/ #设置存储节点服务器(NDB节点) [NDBD] hostname=192.85.1.4 datadir=/var/lib/mysql-cluster #第二个NDB节点 [NDBD] hostname=192.85.1.9 datadir=/var/lib/mysql-cluster/ #设置SQL节点服务器 [MYSQLD] [MYSQLD]

     

    在server2。server3上创建mysql-cluster目录,

    sudo mkdir -p /var/lib/mysql-cluster

    五、启动

    1.启动管理:server1:192.85.1.5

     程序代码 #/usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini 2.启动存储节点 server2:192.85.1.4 server3:192.85.1.9  程序代码 # /usr/local/mysql/bin/ndbd –initial (第一次启动或管理节点的config.ini发生改变) #/usr/local/mysql/bin/ndbd (以后启动用这条) 3.启动SQL节点 server2:192.85.1.4 server3:192.85.1.9 # /usr/local/mysql/bin/mysqld_safe --user=mysql &

     

    六、管理

    1.在管理节点server1:192.85.1.5上操作

     程序代码 # /usr/local/mysql/bin/ndb_mgm  -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)]     2 node(s) id=2     @192.85.1.4   (Version: 5.1.5, Nodegroup: 0) id=3     @192.85.1.9   (Version: 5.1.5, Nodegroup: 0, Master) [ndb_mgmd(MGM)] 1 node(s) id=1     @10.1.11.143   (Version: 5.1.5) [mysqld(API)]   2 node(s) id=4     @192.85.1.4   (Version: 5.1.5) id=5     @192.85.1.9   (Version: 5.1.5) ndb_mgm> 2.在SQL节点 server2:192.85.1.4 server3:192.85.1.9  程序代码 #sudo /usr/local/mysql/bin/mysql  –u root –p (默认密码为空) mysql>use test; mysql> Create TABLE test (name int(10)) ENGINE=NDBCLUSTER; 接下来可以在两个SQL节点对表test进行操作,观察数据是否同步. 在server2上,插入一条数据,查看server2上是否存在 注意:如果要将现有的数据库转移到mysql集群中,应该将数据表的格式有MyISAM或InnoDB该为NDBCLUSTER。 创建表时:CREATE TABLE tbl_name (col_name column_definitions) ENGINE=NDBCLUSTER;

    Alternatively, for an existing table that uses a different storage engine, use ALTER TABLE to change the table to use NDBCLUSTER:

    ALTER TABLE tbl_name ENGINE=NDBCLUSTER; 更多详细信息请参阅:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-load-data-queries.html

    最新回复(0)