Categories
common

新闻组上看到的mysql cluster安装过程

如下:

 I have recently had success setting up a MySQL Cluster, so I
thought I’d share what I did with everyone since it was such a challenge
for me to do and the documentation for how to set it up is so poor.
 

[@more@] 

######################### My Setup ####################################

Here is my setup:

I have two machines, Machine A and Machine B, that have requests and
updates to the db balanced by a router.  There is one IP address that
clients use to access the db.  The router distributes 50% of the
requests to Machine A and the remaining 50% to Machine B.  Therefore,
the db on both Machine A and Machine B must be exactly the same at all
times.  To achieve this I used MySQL Cluster.

 

I am running Redhat Linux 9 on both machines, and the machines are
physically identical.

 

Machine A ip = 10.0.2.39

Machine B ip = 10.0.2.38

########################### Installing ################################ 

I did the following on both machines:

 

- I installed MySql-Max (Linux (x86, glibc-2.2, static, gcc) 4.1.7 

http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-max-4.1.7-pc-linux-i6
86.tar.gz/from/pick

 

- I extracted the tar file into the root folder, and installed the mysql
db by running the mysql_install_db script in the scripts directory.  (In
the mysql directory type-  ./scripts/mysql_install_db)

 

- I then created a config.ini file which I placed in the mysql
directory.  I also created a my.cnf file which I placed in the
mysql/data directory.

################### Config.ini #######################################

 [NDBD DEFAULT]

NoOfReplicas= 2

 

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

 

[NDB_MGMD]

HostName= 10.0.2.39      (10.0.2.38 on machine B)

 

[NDBD]

HostName= 10.0.2.38

DataDir= /root/mysql/data

 

[NDBD]

HostName= 10.0.2.39

DataDir= /root/mysql/data

 

[MYSQLD]

[MYSQLD]

[MYSQLD]

###################### My.cnf ########################## 

The my.cnf file on both machines is:

[mysqld]

ndbcluster

###################### Starting the cluster ############# 

To start the cluster I did the following:

(please note that MySQL is installed in the /root/mysql directory)

 

Machine A:

- opened a terminal.

- typed-   cd mysql

- typed-   ./bin/ndb_mgmd

       - starts the cluster manager

- typed-   ./bin/ndbd --initial

       - please note, only use the '--initial' parameter if it is the

        first time you are starting the node.  

- typed- ./bin/mysqld_safe --user=root &

       - starts mysql.  The terminal may stick here so use ctrl-c to get

         a new prompt.

- typed- ./bin/mysql

       - starts the mysql monitor.

- typed-  use test;

       - to use the test database.

 

Machine B:

- follow the same steps as Machine A:

###################### Testing the cluster ############# 

On Machine A:

- at the mysql monitor prompt

- type-  use test;

      - to use the test database.

- type-  create table cluster_test (i int) engine=ndbcluster;

      - this should create a clustered table called cluster_test.

 

On Machine B:

- at the mysql monitor prompt

- type-  use test;

- type-  show tables;

      -  this should show the cluster_test table created on Machine A.

 

Inserting

Subsequent inserts etc. can be done at the mysql monitor prompt.

Example:

On Machine A:

-        type- insert into cluster_test values(314159);

 

On Machine B:

-        type- select * from cluster_test;

    - should display the value 314159.

##########################################################

Leave a Reply

Your email address will not be published.