• Installation and Configuration MySQL Cluster 7.2 on CentOS 5 (include MySQL 5.5)


    Architecture

    Manager Node
    mysql-mag1   192.168.1.31
    mysql-mag2   192.168.1.32

    SQL Node
    mysql-sql1   192.168.1.33
    mysql-sql2   192.168.1.34

    NDB Node
    mysql-ndb1   192.168.1.35
    mysql-ndb2   192.168.1.36

    [root@mysql-mag1 ~]# cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    ::1             localhost6.localdomain6 localhost6
    
    
    #manager node
    192.168.1.31    mysql-mag1
    192.168.1.32    mysql-mag2
    
    #sql node
    192.168.1.33    mysql-sql1
    192.168.1.34    mysql-sql2
    
    #ndb node
    192.168.1.35    mysql-ndb1
    192.168.1.36    mysql-ndb2


    MySQL Cluster7.2 JAVA must be installed configuration environment

    [root@mysql-mag1 ~]# chmod u+x jdk-6u13-linux-x64.bin 
    [root@mysql-mag1 ~]# ./jdk-6u13-linux-x64.bin 
    [root@mysql-mag1 ~]# mv jdk1.6.0_13 /usr/local/
    [root@mysql-mag1 ~]# echo "export JAVA_HOME=/usr/local/jdk1.6.0_13" >> /etc/profile
    [root@mysql-mag1 ~]# echo "export CLASSPATH=.:$JAVA_HOME/lib/tools.jar" >> /etc/profile
    [root@mysql-mag1 ~]# echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile
    [root@mysql-mag1 ~]# source /etc/profile
    [root@mysql-mag1 ~]# java -version
    java version "1.6.0_13"
    Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
    Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode)
    [root@mysql-mag1 ~]# 
    [root@mysql-mag1 ~]# javac -version
    javac 1.6.0_13


    Installation Manager Node1 

    [root@mysql-mag1 ~]# tar -zxvf mysql-cluster-gpl-7.2.10.tar.gz 
    [root@mysql-mag1 ~]# cd mysql-cluster-gpl-7.2.10
    [root@mysql-mag1 mysql-cluster-gpl-7.2.10]# 
    [root@mysql-mag1 mysql-cluster-gpl-7.2.10]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -DSYSCONFDIR=/etc/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DCOMPILATION_COMMENT=Mysql-Cluster -DCMAKE_BUILD_TYPE=Release -DMYSQL_USER=mysql -DWITH_MYSQLMANAGER=ON -DWITH_EMBEDDED_SERVER=ON -DWITH_NDB_TEST=ON -DWITH_DEBUG=ON -DWITH_NDB_DEBUG=ON
    [root@mysql-mag1 mysql-cluster-gpl-7.2.10]# make && make install
    [root@mysql-mag1 mysql-cluster-gpl-7.2.10]# du -sh /service/mysql/
    1017M   /service/mysql/
    [root@mysql-mag1 mysql-cluster-gpl-7.2.10]# cd /service/mysql/
    [root@mysql-mag1 mysql]# mkdir mysql-cluster
    [root@mysql-mag1 mysql]# chown -R mysql.mysql /service/mysql
    [root@mysql-mag1 mysql]# mkdir -p /etc/mysql
    [root@mysql-mag1 mysql]# cp /root/mysql-cluster-gpl-7.2.10/support-files/config.huge.ini /etc/mysql/config.ini
    [root@mysql-mag1 mysql]# cat config.ini
    [NDBD DEFAULT]
    NoOfReplicas: 2
    DataDir: /service/mysql/mysql-cluster
    FileSystemPath: /service/mysql/data
    
    LockPagesInMainMemory: 1
    
    
    DataMemory: 128M
    IndexMemory: 64M
    
    [MGM DEFAULT]
    PortNumber: 1186
    DataDir: /service/mysql/mysql-cluster
    
    [TCP DEFAULT]
    SendBufferMemory: 2M
    ReceiveBufferMemory: 2M
    
    [NDB_MGMD]
    NodeId: 1
    HostName: 192.168.1.31
    ArbitrationRank: 1
    
    [NDB_MGMD]
    NodeId: 2
    HostName: 192.168.1.32
    ArbitrationRank: 1
    
    [NDBD]
    NodeId: 3
    HostName: 192.168.1.35
    
    [NDBD]
    NodeId: 4
    HostName: 192.168.1.36
    
    [API]
    NodeId: 5
    HostName: 192.168.1.33
    
    [API]
    NodeId: 6
    HostName: 192.168.1.34 


    Installation Manager Node2

    From manager node1 copy "config.ini,MYSQL_HOME/bin/*" to manager node2 and give permission.

    [root@mysql-mag1 mysql]# scp /etc/mysql/config.ini mysql-mag2:/etc/mysql/
    [root@mysql-mag1 mysql]# scp -rp /service/mysql/*  mysql-mag2:/service/mysql/

    On manager node2  give permission.

    [root@mysql-mag2 mysql]# chown -R mysql.mysql /etc/mysql /service/mysql


    Start Manager Node

    The first time on the manager node to start the manager serverThe first time on the manager node to start the manager server.
    On manager node1

    [root@mysql-mag1 ~]# /service/mysql/bin/ndb_mgmd -f /etc/mysql/config.ini --config-dir=/service/mysql/mysql-cluster/ --initial
    MySQL Cluster Management Server mysql-5.5.29 ndb-7.2.10

    On manager node2

    [root@mysql-mag2 mysql]# /service/mysql/bin/ndb_mgmd -f /etc/mysql/config.ini --config-dir=/service/mysql/mysql-cluster/ --initial
    MySQL Cluster Management Server mysql-5.5.29 ndb-7.2.10

    Start using reload parameters again

    /service/mysql/bin/ndb_mgmd -f /etc/mysql/config.ini --config-dir=/service/mysql/mysql-cluster/ --reload

    [root@mysql-mag1 ~]# /service/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=3 (not connected, accepting connect from 192.168.1.35)
    id=4 (not connected, accepting connect from 192.168.1.36)
    
    [ndb_mgmd(MGM)] 2 node(s)
    id=1    @192.168.1.31  (mysql-5.5.29 ndb-7.2.10)
    id=2    @192.168.1.32  (mysql-5.5.29 ndb-7.2.10)
    
    [mysqld(API)]   2 node(s)
    id=5 (not connected, accepting connect from 192.168.1.33)
    id=6 (not connected, accepting connect from 192.168.1.34)
    


    Installation NDB Node1 
    Create my.cnf

    [root@mysql-ndb1 ~]# cat /etc/mysql/my.cnf 
    [mysqld]
    datadir=/service/mysql/data
    basedir=/service/mysql
    socket=/service/mysql/mysql.sock
    default_storage_engine=NDBCLUSTER
    ndbcluster
    ndb-connectstring=mysql-mag1,mysql-mag2
    
    [mysql_cluster]
    ndb-connectstring=mysql-mag1,mysql-mag2


    From manager node1 copy "MYSQL_HOME/bin/*" to ndb node1 and give permission.

    [root@mysql-mag1 ~]# scp -rp /service/mysql/* mysql-ndb1:/service/mysql


    On NDB node1  give permission.

    [root@mysql-ndb1 mysql]# chown -R mysql.mysql /etc/mysql /service/mysql


    Installation NDB Node2

    From ndb node1 copy "my.cnf,MYSQL_HOME/bin/*" to ndb node2 and give permission.

    [root@mysql-ndb1 mysql]# scp -rp /etc/mysql/my.cnf mysql-ndb2:/etc/mysql/
    [root@mysql-ndb1 mysql]# scp -rp /service/mysql/* mysql-ndb2:/service/mysql/


    On NDB node2  give permission.

    [root@mysql-ndb2 mysql]# chown -R mysql.mysql /etc/mysql /service/mysql


    Start NDB Node

    [root@mysql-ndb1 ~]# /service/mysql/bin/ndbd --initial
    2013-11-19 22:50:40 [ndbd] INFO     -- Angel connected to 'mysql-mag1:1186'
    2013-11-19 22:50:40 [ndbd] INFO     -- Angel allocated nodeid: 3
    [root@mysql-ndb2 ~]# /service/mysql/bin/ndbd --initial
    2013-11-19 23:02:26 [ndbd] INFO     -- Angel connected to 'mysql-mag1:1186'
    2013-11-19 23:02:26 [ndbd] INFO     -- Angel allocated nodeid: 4

    NDB nodes "ndbd --initial" starting up only when the first time you start or need to recover from a backup database needs, other times as long as the executive  "ndbd -d"

    View Manager Node

    ndb_mgm> show
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=3    @192.168.1.35  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
    id=4    @192.168.1.36  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 2 node(s)
    id=1    @192.168.1.31  (mysql-5.5.29 ndb-7.2.10)
    id=2    @192.168.1.32  (mysql-5.5.29 ndb-7.2.10)
    
    [mysqld(API)]   5 node(s)
    id=5 (not connected, accepting connect from 192.168.1.33)
    id=6 (not connected, accepting connect from 192.168.1.34)
    id=7 (not connected, accepting connect from any host)
    id=8 (not connected, accepting connect from any host)
    id=9 (not connected, accepting connect from any host)


    Installation SQL Node1

    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# cmake . -DCMAKE_INSTALL_PREFIX=/service/mysql -DMEMCACHED_HOME=/service/mysql/memcached -DSYSCONFDIR=/etc/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DCOMPILATION_COMMENT=Mysql-Cluster -DCMAKE_BUILD_TYPE=Release -DMYSQL_USER=mysql -DWITH_MYSQLMANAGER=ON -DBACKUP_TEST=OFF -DWITH_DEBUG=ON -DWITH_NDB_DEBUG=ON
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# make && make install
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# cp support-files/my-huge.cnf /etc/mysql/my.cnf
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# cat /etc/mysql/my.cnf
    [client]
    port            = 3306
    socket          = /tmp/mysql.sock
    
    
    [mysqld]
    port            = 3306
    socket          = /tmp/mysql.sock
    skip-external-locking
    key_buffer_size = 128M
    max_allowed_packet = 1M
    table_open_cache = 512
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 8M
    myisam_sort_buffer_size = 64M
    thread_cache_size = 8
    query_cache_size = 32M
    thread_concurrency = 8
    
    ndbcluster
    ndb-connectstring=mysql-mag1,mysql-mag2
    user=mysql
    
    
    log-bin=mysql-bin
    log-error
    
    
    [mysql_cluster]
    ndb-connectstring=mysql-mag1,mysql-mag2
    
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    
    [myisamchk]
    key_buffer_size = 256M
    sort_buffer_size = 256M
    read_buffer = 2M
    write_buffer = 2M
    
    [mysqlhotcopy]
    interactive-timeout
    
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# chown -R mysql.mysql /etc/mysql /service/mysql
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# cp support-files/mysql.server /etc/init.d/mysql
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# /service/mysql/scripts/mysql_install_db --user=mysql --basedir=/service/mysql
    Installing MySQL system tables...
    OK
    Filling help tables...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
    To do so, start the server, then issue the following commands:
    
    /service/mysql/bin/mysqladmin -u root password 'new-password'
    /service/mysql/bin/mysqladmin -u root -h mysql-sql1 password 'new-password'
    
    Alternatively you can run:
    /service/mysql/bin/mysql_secure_installation
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the manual for more instructions.
    
    You can start the MySQL daemon with:
    cd /service/mysql ; /service/mysql/bin/mysqld_safe &
    
    You can test the MySQL daemon with mysql-test-run.pl
    cd /service/mysql/mysql-test ; perl mysql-test-run.pl
    
    Please report any problems with the /service/mysql/scripts/mysqlbug script!
    
    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# 


    Installation SQL Node2

    Installation is the same as the SQL Node1

    Start SQL Node

    On SQL Node1

    [root@mysql-sql1 mysql-cluster-gpl-7.2.10]# /etc/init.d/mysql start
    Starting MySQL....[  OK  ]

    On SQL Node2

    [root@mysql-sql2 mysql]# /etc/init.d/mysql start
    Starting MySQL.....[  OK  ]

    View Manager Node

    ndb_mgm> show
    Cluster Configuration
    ---------------------
    [ndbd(NDB)]     2 node(s)
    id=3    @192.168.1.35  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
    id=4    @192.168.1.36  (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0)
    
    [ndb_mgmd(MGM)] 2 node(s)
    id=1    @192.168.1.31  (mysql-5.5.29 ndb-7.2.10)
    id=2    @192.168.1.32  (mysql-5.5.29 ndb-7.2.10)
    
    [mysqld(API)]   5 node(s)
    id=5    @192.168.1.33  (mysql-5.5.29 ndb-7.2.10)
    id=6    @192.168.1.34  (mysql-5.5.29 ndb-7.2.10)
    id=7 (not connected, accepting connect from any host)
    id=8 (not connected, accepting connect from any host)
    id=9 (not connected, accepting connect from any host)


    Test MySQL Cluster

    [root@mysql-sql2 mysql]# /service/mysql/bin/mysql
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.5.29-ndb-7.2.10-debug-log Mysql-Cluster
    
    Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> show engines;
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    | ndbcluster         | YES     | Clustered, fault-tolerant tables                               | YES          | NO   | NO         |
    | MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
    | MyISAM             | YES     | MyISAM storage engine                                          | NO           | NO   | NO         |
    | BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
    | PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
    | CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
    | ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
    | ndbinfo            | YES     | MySQL Cluster system information storage engine                | NO           | NO   | NO         |
    | FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
    | InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
    | MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
    +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
    11 rows in set (0.01 sec)
    
    mysql> select @@version;
    +-----------------------------+
    | @@version                   |
    +-----------------------------+
    | 5.5.29-ndb-7.2.10-debug-log |
    +-----------------------------+
    1 row in set (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | ndbinfo            |
    | performance_schema |
    | test               |
    +--------------------+
    5 rows in set (0.00 sec)
    
    mysql> use test
    Database changed
    mysql> show tables;
    Empty set (0.06 sec)
    
    mysql> create table t_test(
        -> id int(5) primary key,
        -> name varchar(20)
        -> )engine=ndb comment='ndb test';
    Query OK, 0 rows affected (0.24 sec)
    
    mysql> show create table t_testG
    *************************** 1. row ***************************
           Table: t_test
    Create Table: CREATE TABLE `t_test` (
      `id` int(5) NOT NULL,
      `name` varchar(20) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=ndbcluster DEFAULT CHARSET=utf8 COMMENT='ndb test'
    1 row in set (0.00 sec)
    
    mysql> insert into t_test values(1,'zwc');
    Query OK, 1 row affected (0.00 sec)





  • 相关阅读:
    Microsoft .NET Custom Errors Not Set(今天公司内审,扫描出了漏洞,要堵住)
    马云向***总理专题汇报:坚持为小企业服务
    用sp_lock诊断SQL Sever的性能问题(数据库管理员不得不看)转的。
    Oracle 10g Audit(审计) 记录登录用户在Oracle中的所有操作(转)
    Oracle基本语法集锦(用到了,收集一下)
    C#中对注册表的操作指南
    生活小知识,生活要认真,驱蚊驱虫驱苍蝇大法
    关于TextBox控件onTextChanged时间激活的问题
    Monitoring connection pooling behavior
    远程共享文件夹的切换访问用户帐号
  • 原文地址:https://www.cnblogs.com/riasky/p/3433256.html
Copyright © 2020-2023  润新知