好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL群集双机模拟

硬件配置      普通PC server * 2 (最小集群环境需要4台服务器)      模拟环境      red hat linux9 for x86 (or red hat AS 2以上版本),glibc-2.2, static, gcc      MySQL版本4.1.12 binares      mysql-max binary版本目前只支持linux、max os x和solaris      本方案不涉及从源代码编译安装      主机 IP地址 用途      ndb1_mgmd_sqld 1192.168.1.100 Ndb node1+mgmd node1+sqld node1   ndb2_sqld2 192.168.1.200 Ndb node2+sqld node2      Mgmd:management server   sqld:mysql server   ndb:storaged node (share-nothing,base in memory)      安装      从 http://dev.mysql测试数据/downloads/mysql/4.1.html 下载mysql-max-4.1.12-pc-linux-gnu-i686.tar.gz到/var/tmp   Storage and SQL Node Installation      在两台主机上执行如下过程      shell>groupadd mysql   shell>useradd -g mysql mysql   shell>tar zxfv mysql-max-4.1.12-pc-linux-gnu-i686.tar.gz   shell>cp -vr mysql-max-4.1.12-pc-linux-gnu-i686 /usr/local/mysql-max-4.1.12-pc-linux-gnu-i686   shell>cd /usr/local   shell>ln -s mysql-max-4.1.12-pc-linux-gnu-i686 mysql   shell>cd mysql;scripts/mysql_install_db –user=mysql   shell>chown -R root .;chown -R mysql data;chgrp -R mysql .   shell>cp support-files/mysql.server /etc/rc.d/init.d/   shell>chmod +x /etc/rc.d/init.d/mysql.server   shell>chkconfig --add mysql.server   shell>chkconfig –level 3 mysql.server off   Management Node Installation      在主机ndb1_mgmd_sqld1上执行如下过程      shell>cd /var/tmp   shell>tar -zxvf mysql-max-4.1.12a-pc-linux-gnu-i686.tar.gz /usr/local/bin '*/bin/ndb_mgm*'   Configuration   Configuring the Storage and SQL Nodes      在两台主机上执行如下过程:      shell>vi /etc/my.cnf   [MYSQLD]             # Options for mysqld process:   ndbcluster           # run NDB engine   ndb-connectstring=192.168.1.100  # location of MGM node      [MYSQL_CLUSTER]         # Options for ndbd process:   ndb-connectstring=192.168.1.100  # location of MGM node      Configuring the Management Node      在主机ndb1_mgmd_sqld1上执行如下过程      shell>mkdir /var/lib/mysql-cluster   shell>cd /var/lib/mysql-cluster   shell>vi config.ini   [NDBD DEFAULT]   # Options affecting ndbd processes on all data nodes:   NoOfReplicas=2   # Number of replicas   DataMemory=80M   # How much memory to allocate for data storage   IndexMemory=52M  # 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]      [NDB_MGMD]        # Management process options:   hostname=192.168.1.100 # Hostname or IP address of MGM node   datadir=/var/lib/mysql-cluster  # Directory for MGM node logfiles      [NDBD]             # Options for data node "A":   # (one [NDBD] section per data node)   HostName=192.168.1.100      # Hostname or IP address   DataDir=/usr/local/mysql/data  # Directory for this data node's datafiles      [NDBD]             # Options for data node "B":   hostname=192.168.1.200      # Hostname or IP address   datadir=/usr/local/mysql/data  # Directory for this data node's datafiles      [MYSQLD]             # SQL node options:   hostname=192.168.1.100     # Hostname or IP address   # Directory for SQL node's datafiles   # (additional mysqld connections can be   # specified for this node for various   # purposes such as running ndb_restore)      [MYSQLD] # SQL node options:   hostname=192.168.1.200     # Hostname or IP address   # Directory for SQL node's datafiles   # (additional mysqld connections can be   # specified for this node for various   # purposes such as running ndb_restore)      第一次启动      在主机ndb1_mgmd_sqld1上执行如下过程      shell> ndb_mgmd -f /var/lib/mysql-cluster/config.ini      在两台主机上执行如下过程      shell>ndbd –initial (note:--initial选项只能在第一次启动的时候使用)   shell>/etc/init.d/mysql.server start      测试      在主机ndb1_mgmd_sqld1上执行如下过程   shell> 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.168.0.100 (Version: 4.1.12, Nodegroup: 0, Master)   id=3  @192.168.0.200 (Version: 4.1.12, Nodegroup: 0)      [ndb_mgmd(MGM)] 1 node(s)   id=1  @192.168.0.100 (Version: 4.1.12)      [mysqld(SQL)]  1 node(s)   id=4  (Version: 4.1.12)      出现如上信息则表示mysql群集安装成功      数据抽样测试      在主机ndb1_mgmd_sqld1上执行如下过程      shell>/usr/local/mysql/bin/mysql -u root test   MySQL>DROP TABLE IF EXISTS City;   CREATE TABLE City (   ID int(11) NOT NULL auto_increment,   Name char(35) NOT NULL default '',   CountryCode char(3) NOT NULL default '',   District char(20) NOT NULL default '',   Population int(11) NOT NULL default '0',   PRIMARY KEY (ID)   ) ENGINE=NDBCLUSTER;      MySQL>INSERT INTO City VALUES (1,'Kabul','AFG','Kabol',1780000);   INSERT INTO City VALUES (2,'Qandahar','AFG','Qandahar',237500);   INSERT INTO City VALUES (3,'Herat','AFG','Herat',186800);      在主机ndb2_sqld2上执行如下过程      shell>/usr/local/mysql/bin/mysql -u root mysql   MySQSL>select * from City;      如果成功显示数据信息,则表示集群已经成功启动      Safe Shutdown and Restart      在主机ndb1_mgmd_sqld1上执行如下过程      shell>ndb_mgm -e shutdown (关闭集群服务器,storage node也会自动被关闭)      在两台主机上执行如下过程      shell>/etc/init.d/mysql.server stop      重新启动集群(顺序不能弄错)      在主机ndb1_mgmd_sqld1上执行如下过程      shell> ndb_mgmd -f /var/lib/mysql-cluster/config.ini      在两台主机上执行如下过程      shell>/usr/local/mysql/bin/ndbd      启动完ndbd进程后启动sqld进程      shell>/etc/init.d/mysql.server start      附:      config.ini中各部分解释      [COMPUTER]: 定义群集主机.      [NDBD]: 定义群集数据节点.      [MYSQLD]: 定义Sql server节点.      [MGM|NDB_MGMD]: Defines the management server node in the cluster.   [TCP]: Defines TCP/IP connections between nodes in the cluster, with TCP/IP being the default connection protocol.   [SHM]: Defines shared-memory connections between nodes. 在MySQL 4.1.9之前,这个功能必须使用--with-ndb-shm option编译进去, 从MySQL 4.1.9-max版本开始, it is enabled by default(默认为打开状态)

查看更多关于MySQL群集双机模拟的详细内容...

  阅读:38次