自己经历的mysql cluter配置过程

76.my.cnf

#mple MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part
, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options
,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file
, you can use all long options that a program supports.
# If you want to know which options a program supports
, run the program
# with the 
"--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    
= your_password
port        
= 3307
socket        
= /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
datadir     
= /var/lib/mysql
user        
= root
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock
skip-locking
key_buffer 
= 16M
max_allowed_packet 
= 1M
table_cache 
= 64
sort_buffer_size 
= 512K
net_buffer_length 
= 8K
read_buffer_size 
= 256K
read_rnd_buffer_size 
= 512K
myisam_sort_buffer_size 
= 8M

#datadir        
= /mysqldata



# Don't listen on a TCP/IP port at all. This can be a security enhancement
,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the 
"enable-named-pipe" option) will render mysqld useless!

#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin
=mysql-bin

# required unique id between 
1 and 2^32 - 1
# defaults to 
1 if master-host is not set
# but will not function as a master if omitted
server-id    
= 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave
, you can choose between
# two methods :
#
1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST
=<host>, MASTER_PORT=<port>,
#    MASTER_USER
=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>
, <user>, <password> by quoted strings and
#    <port> by the master's port number (
3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST
='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER
='joe', MASTER_PASSWORD='secret';
#
# OR
#
2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully
, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect)
, the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file
, unless you shutdown
#    the slave server
, delete master.info and restart the slaver server.
#    For that reason
, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 
2 and 2^32 - 1
# (and different from the master)
# defaults to 
2 if master-host is set
# but will not function as a slave if omitted
#server-id       
= 2
#
# The replication master for this slave - required
#master-host     
=   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     
=   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password 
=   <password>
#
# The port the master is listening on.
# optional - defaults to 
3306
#master-port     
=  <port>
#
# binary logging - not required for slaves
, but recommended
#log-bin
=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir        
= /tmp/        
#log-update     
= /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size 
= 4M
#bdb_max_lock 
= 10000


# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir 
= /var/lib/mysql/
innodb_data_file_path 
= ibdata1:10M:autoextend
innodb_log_group_home_dir 
= /var/lib/mysql/
#innodb_log_arch_dir 
= /var/lib/mysql
# You can set .._buffer_pool_size up to 
50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size 
= 16M
innodb_additional_mem_pool_size 
= 2M
# Set .._log_file_size to 
25 % of buffer pool size
innodb_log_file_size 
= 5M
innodb_log_buffer_size 
= 8M
innodb_flush_log_at_trx_commit 
= 1
innodb_lock_wait_timeout 
= 50


ndbcluster                      # run NDB storage engine
ndb-connectstring
=192.168.1.79  # location of management server
[mysqldump]
quick
max_allowed_packet 
= 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[myisamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[mysqlhotcopy]
interactive-timeout


[MYSQL_CLUSTER]
ndb-connectstring
=192.168.1.79  # location of management server



 

16.my.cnf

 

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part
, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options
,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file
, you can use all long options that a program supports.
# If you want to know which options a program supports
, run the program
# with the 
"--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    
= your_password
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock
skip-locking
key_buffer 
= 16M
max_allowed_packet 
= 1M
table_cache 
= 64
sort_buffer_size 
= 512K
net_buffer_length 
= 8K
read_buffer_size 
= 256K
read_rnd_buffer_size 
= 512K
myisam_sort_buffer_size 
= 8M


ndbcluster                      # run NDB storage engine
ndb-connectstring
=192.168.1.79  # location of management server


# Don't listen on a TCP/IP port at all. This can be a security enhancement
,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the 
"enable-named-pipe" option) will render mysqld useless!

#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin
=mysql-bin

# required unique id between 
1 and 2^32 - 1
# defaults to 
1 if master-host is not set
# but will not function as a master if omitted
server-id    
= 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave
, you can choose between
# two methods :
#
1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST
=<host>, MASTER_PORT=<port>,
#    MASTER_USER
=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>
, <user>, <password> by quoted strings and
#    <port> by the master's port number (
3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST
='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER
='joe', MASTER_PASSWORD='secret';
#
# OR
#
2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully
, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect)
, the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file
, unless you shutdown
#    the slave server
, delete master.info and restart the slaver server.
#    For that reason
, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 
2 and 2^32 - 1
# (and different from the master)
# defaults to 
2 if master-host is set
# but will not function as a slave if omitted
#server-id       
= 2
#
# The replication master for this slave - required
#master-host     
=   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     
=   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password 
=   <password>
#
# The port the master is listening on.
# optional - defaults to 
3306
#master-port     
=  <port>
#
# binary logging - not required for slaves
, but recommended
#log-bin
=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir        
= /tmp/        
#log-update     
= /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size 
= 4M
#bdb_max_lock 
= 10000

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir 
= /var/lib/mysql/
#innodb_data_file_path 
= ibdata1:10M:autoextend
#innodb_log_group_home_dir 
= /var/lib/mysql/
#innodb_log_arch_dir 
= /var/lib/mysql/
# You can set .._buffer_pool_size up to 
50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size 
= 16M
#innodb_additional_mem_pool_size 
= 2M
# Set .._log_file_size to 
25 % of buffer pool size
#innodb_log_file_size 
= 5M
#innodb_log_buffer_size 
= 8M
#innodb_flush_log_at_trx_commit 
= 1
#innodb_lock_wait_timeout 
= 50

[mysqldump]
quick
max_allowed_packet 
= 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[myisamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[mysqlhotcopy]
interactive-timeout


[MYSQL_CLUSTER]
ndb-connectstring
=192.168.1.79  # location of management server

19.my.cnf

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part
, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options
,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file
, you can use all long options that a program supports.
# If you want to know which options a program supports
, run the program
# with the 
"--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    
= your_password
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock
skip-locking
key_buffer 
= 16M
max_allowed_packet 
= 1M
table_cache 
= 64
sort_buffer_size 
= 512K
net_buffer_length 
= 8K
read_buffer_size 
= 256K
read_rnd_buffer_size 
= 512K
myisam_sort_buffer_size 
= 8M


ndbcluster                      # run NDB storage engine
ndb-connectstring
=192.168.1.79  # location of management server


# Don't listen on a TCP/IP port at all. This can be a security enhancement
,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the 
"enable-named-pipe" option) will render mysqld useless!

#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin
=mysql-bin

# required unique id between 
1 and 2^32 - 1
# defaults to 
1 if master-host is not set
# but will not function as a master if omitted
server-id    
= 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave
, you can choose between
# two methods :
#
1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST
=<host>, MASTER_PORT=<port>,
#    MASTER_USER
=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>
, <user>, <password> by quoted strings and
#    <port> by the master's port number (
3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST
='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER
='joe', MASTER_PASSWORD='secret';
#
# OR
#
2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully
, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect)
, the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file
, unless you shutdown
#    the slave server
, delete master.info and restart the slaver server.
#    For that reason
, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 
2 and 2^32 - 1
# (and different from the master)
# defaults to 
2 if master-host is set
# but will not function as a slave if omitted
#server-id       
= 2
#
# The replication master for this slave - required
#master-host     
=   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     
=   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password 
=   <password>
#
# The port the master is listening on.
# optional - defaults to 
3306
#master-port     
=  <port>
#
# binary logging - not required for slaves
, but recommended
#log-bin
=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir        
= /tmp/        
#log-update     
= /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size 
= 4M
#bdb_max_lock 
= 10000

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir 
= /var/lib/mysql/
#innodb_data_file_path 
= ibdata1:10M:autoextend
#innodb_log_group_home_dir 
= /var/lib/mysql/
#innodb_log_arch_dir 
= /var/lib/mysql/
# You can set .._buffer_pool_size up to 
50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size 
= 16M
#innodb_additional_mem_pool_size 
= 2M
# Set .._log_file_size to 
25 % of buffer pool size
#innodb_log_file_size 
= 5M
#innodb_log_buffer_size 
= 8M
#innodb_flush_log_at_trx_commit 
= 1
#innodb_lock_wait_timeout 
= 50

[mysqldump]
quick
max_allowed_packet 
= 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[myisamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[mysqlhotcopy]
interactive-timeout


[MYSQL_CLUSTER]
ndb-connectstring
=192.168.1.79  # location of management server

 

79.my.cnf

 

#Omple MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part
, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options
,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file
, you can use all long options that a program supports.
# If you want to know which options a program supports
, run the program
# with the 
"--help" option.

# The following options will be passed to all MySQL clients
[client]
#password    
= your_password
port        
= 3307
socket        
= /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
datadir     
= /var/lib/mysql
user        
= root
port        
= 3306
socket        
= /var/lib/mysql/mysql.sock
skip-locking
key_buffer 
= 16M
max_allowed_packet 
= 1M
table_cache 
= 64
sort_buffer_size 
= 512K
net_buffer_length 
= 8K
read_buffer_size 
= 256K
read_rnd_buffer_size 
= 512K
myisam_sort_buffer_size 
= 8M

#datadir        
= /mysqldata



# Don't listen on a TCP/IP port at all. This can be a security enhancement
,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the 
"enable-named-pipe" option) will render mysqld useless!

#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
log-bin
=mysql-bin

# required unique id between 
1 and 2^32 - 1
# defaults to 
1 if master-host is not set
# but will not function as a master if omitted
server-id    
= 1

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave
, you can choose between
# two methods :
#
1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST
=<host>, MASTER_PORT=<port>,
#    MASTER_USER
=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>
, <user>, <password> by quoted strings and
#    <port> by the master's port number (
3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST
='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER
='joe', MASTER_PASSWORD='secret';
#
# OR
#
2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully
, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect)
, the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file
, unless you shutdown
#    the slave server
, delete master.info and restart the slaver server.
#    For that reason
, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 
2 and 2^32 - 1
# (and different from the master)
# defaults to 
2 if master-host is set
# but will not function as a slave if omitted
#server-id       
= 2
#
# The replication master for this slave - required
#master-host     
=   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     
=   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password 
=   <password>
#
# The port the master is listening on.
# optional - defaults to 
3306
#master-port     
=  <port>
#
# binary logging - not required for slaves
, but recommended
#log-bin
=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir        
= /tmp/        
#log-update     
= /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size 
= 4M
#bdb_max_lock 
= 10000


# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir 
= /var/lib/mysql/
#innodb_data_file_path 
= ibdata1:10M:autoextend
#innodb_log_group_home_dir 
= /var/lib/mysql/
#innodb_log_arch_dir 
= /var/lib/mysql
# You can set .._buffer_pool_size up to 
50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size 
= 16M
#innodb_additional_mem_pool_size 
= 2M
# Set .._log_file_size to 
25 % of buffer pool size
#innodb_log_file_size 
= 5M
#innodb_log_buffer_size 
= 8M
#innodb_flush_log_at_trx_commit 
= 1
#innodb_lock_wait_timeout 
= 50


#ndbcluster                      # run NDB storage engine
#ndb-connectstring
=192.168.1.76  # location of management server
[mysqldump]
quick
max_allowed_packet 
= 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[myisamchk]
key_buffer 
= 20M
sort_buffer_size 
= 20M
read_buffer 
= 2M
write_buffer 
= 2M

[mysqlhotcopy]
interactive-timeout


#
[MYSQL_CLUSTER]
#ndb-connectstring
=192.168.1.76  # location of management server

 

79.config.ini

 

#ptions affecting ndbd processes on all data nodes:
[NDBD DEFAULT]    
NoOfReplicas
=2    # Number of replicas
DataMemory
=400M    # How much memory to allocate for data storage
IndexMemory
=200M   # 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/IP options:
[TCP DEFAULT]     
portnumber
=2202   # This the default; however, you can use any
                               # port that is free for all the hosts in the cluster
                               # Note: It is recommended that you do not specify the 
                               # portnumber at all and allow the default value to be 
                               # used instead

# Management process options:
[NDB_MGMD]                      
hostname
=192.168.1.79           # Hostname or IP address of MGM node
datadir
=/mysqldata  # Directory for MGM node log files

# Options for data node 
"A":
[NDBD]                          
                                # (one 
[NDBD] section per data node)
hostname
=192.168.1.16           # Hostname or IP address
datadir
=/mysqldata   # Directory for this data node's data files

# Options for data node 
"B":
[NDBD]                          
hostname
=192.168.1.19           # Hostname or IP address
datadir
=/mysqldata   # Directory for this data node's data files

# SQL node options:
[MYSQLD]                        
hostname
=192.168.1.76           # Hostname or IP address
                                # (additional mysqld connections can be
                                # specified for this node for various
                                # purposes such as running ndb_restore)