- 浏览: 622136 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
xianzi_2008:
xianzi_2008 写道楼主请教下,我缓存了一个List& ...
Ehcache -
xianzi_2008:
楼主请教下,我缓存了一个List<Bean>对象, ...
Ehcache -
jsdsh:
收藏好.五个字
hibernate之one-to-many详细 -
Tlife:
好!!!!
hibernate------HQL总结 -
yanqingluo:
例子很恰当。
观察者模式
mysql集群架构主要分为:数据节点(ndbd),管理节点(mgmd),服务节点(mysqld)
附件是mysql集群整体架构图
1. 下载:http://dev.mysql.com/downloads/mysql/5.0.html#linux 可以从这里下载 mysql-5.0.45-linux-i686.tar.gz
此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。
2. 解压:
下载的这个.tar.gz是编译后的文件,只需要解压即可。
3. 配置
比如解压后的文件都放在:/home/mahaibo/mysql-5.0.45-linux-i686目录下。
数据节点(ndbd),管理节点(mgmd),服务节点(mysqld) 三个启动顺序是
mgmd ---> ndbd ---> mysqld
可以在同一台电脑上做个简单的配置和测试。以在同一台电脑上不同端口为例。实际中肯定是需要分布在不同的服务器上的。
A: 配置mgmd,并启动
在/home/mahaibo/mysql-5.0.45-linux-i686建立一个mgmd.cnf和mgmd的数据目录mgmddata ,编辑mgmd.cnf文件:
可以看到配置了2个数据节点ndbd,也就是说改管理节点可以管理小于或等于2个数据节点。管理节点mgmd的端口为2203。
启动mgmd服务:
启动后,登录mgmd的客户端mgm可以查看具体信息:
可以看到ndbd和mysqld都是not connected状态,因为这2个服务都还没有启动。
B: 启动数据节点(ndbd)
以启动2个数据节点为例。
分别建立ndbd1.cnf ,ndbd1data数据目录
编辑ndbd1.cnf:
启动第一个ndbd数据节点
第一次启动需要加--initial参数。
第2个数据节点(ndbd)也需要做同样的配置和启动操作。分别建立ndbd2.cnf ,ndbd2data数据目录
ndbd2.cnf的配置和ndbd1.cnf的配置几乎是一样的,只是数据目录不一样。
启动第2个数据节点ndbd:
这时,如果登录到mgmd管理节点的客户端mgm,
可以看到ndbd的2个节点都是连接状态了,而不是not connected状态了,但是mysqld还是not connected状态。
C: 启动mysqld服务。
打开mysql-5.0.45-linux-i686下的configure文件,可以看到其内容为:
可以看到:它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.
如果想让mysql启动时调用自己指定的my.cnf的位置。可以把configure文件内容里的./bin/mysqld_safe --no-defaults &修改为:
建立my3.cnf和数据目录data3
编辑my3.cnf:
启动mysqld服务:
如果这时在登录到mgmd管理节点的客户端mgm,
可以看到mysqld也是连接状态了
登录到mysqld的客户端,然后
可以看到
have_ndbcluster 为 YES,说明ndbcluster引擎已经打开。
可以建立一个ndbcluster引擎的表测试下看是否成功
show create table table1;
可以看到:
以上只是记录的配置流水账过程,也许有些说的不对的地方,请多指点。具体项目应用还需要具体参考mysql文档进行配置
对是有延迟,只有在很高的并发下才能发现
没有多少个人是真正懂的.都是在这里等着别人免费喂到你们的口上?本身并不难的东西.有多少人自己去实践过?没有做就不要发言.在这里贻害后生!你们有什么资格谈MYSQL的性能,稳定性?
没有多少个人是真正懂的.都是在这里等着别人免费喂到你们的口上?本身并不难的东西.有多少人自己去实践过?没有做就不要发言.在这里贻害后生!你们有什么资格谈MYSQL的性能,稳定性?
附件是mysql集群整体架构图
1. 下载:http://dev.mysql.com/downloads/mysql/5.0.html#linux 可以从这里下载 mysql-5.0.45-linux-i686.tar.gz
此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。
2. 解压:
tar -zxvf apache-tomcat-5.5.25.tar.gz
下载的这个.tar.gz是编译后的文件,只需要解压即可。
3. 配置
比如解压后的文件都放在:/home/mahaibo/mysql-5.0.45-linux-i686目录下。
数据节点(ndbd),管理节点(mgmd),服务节点(mysqld) 三个启动顺序是
mgmd ---> ndbd ---> mysqld
可以在同一台电脑上做个简单的配置和测试。以在同一台电脑上不同端口为例。实际中肯定是需要分布在不同的服务器上的。
A: 配置mgmd,并启动
在/home/mahaibo/mysql-5.0.45-linux-i686建立一个mgmd.cnf和mgmd的数据目录mgmddata ,编辑mgmd.cnf文件:
# Options affecting ndbd processes on all data nodes: [NDBD DEFAULT] NoOfReplicas=1 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # 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 cluster # Note: It is recommended beginning with MySQL 5.0 that # you do not specify the portnumber at all and simply allow # the default value to be used instead # Management process options: [NDB_MGMD] hostname=127.0.0.1 # Hostname or IP address of MGM node ,mgmd's hostname datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for MGM node logfiles PortNumber=2203 #default value: 1186 # Options for data node "A": [NDBD] # (one [NDBD] section per data node) hostname=127.0.0.1 # Hostname or IP address ,allow to access datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for this data node's datafiles # Options for data node "B": [NDBD] hostname=127.0.0.1 # Hostname or IP address datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for this data node's datafiles [MYSQLD] hostname=127.0.0.1 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)
可以看到配置了2个数据节点ndbd,也就是说改管理节点可以管理小于或等于2个数据节点。管理节点mgmd的端口为2203。
启动mgmd服务:
bin/ndb_mgmd -f mgmd.cnf
启动后,登录mgmd的客户端mgm可以查看具体信息:
bin/ndb_mgm 127.0.0.1 2203 //因为mgmd服务用的端口是2203,所以要通过该端口链接
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 (not connected, accepting connect from 127.0.0.1) id=3 (not connected, accepting connect from 127.0.0.1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 (not connected, accepting connect from 127.0.0.1) ndb_mgm>
可以看到ndbd和mysqld都是not connected状态,因为这2个服务都还没有启动。
B: 启动数据节点(ndbd)
以启动2个数据节点为例。
分别建立ndbd1.cnf ,ndbd1data数据目录
编辑ndbd1.cnf:
[mysqld] DataDir=/home/mahaibo/mysql-5.0.45-linux-i686/ndbd1data//数据目录 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 ndb-connectstring=127.0.0.1:2203 [mysql_cluster] ndb-connectstring=127.0.0.1:2203 // 连接mgmd服务的ip与端口
启动第一个ndbd数据节点
bin/ndbd --defaults-file=ndbd1.cnf --initial
第一次启动需要加--initial参数。
第2个数据节点(ndbd)也需要做同样的配置和启动操作。分别建立ndbd2.cnf ,ndbd2data数据目录
ndbd2.cnf的配置和ndbd1.cnf的配置几乎是一样的,只是数据目录不一样。
启动第2个数据节点ndbd:
bin/ndbd --defaults-file=ndbd2.cnf --initial
这时,如果登录到mgmd管理节点的客户端mgm,
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (Version: 5.0.45, Nodegroup: 0, Master) id=3 @127.0.0.1 (Version: 5.0.45, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 (not connected, accepting connect from 127.0.0.1) ndb_mgm>
可以看到ndbd的2个节点都是连接状态了,而不是not connected状态了,但是mysqld还是not connected状态。
C: 启动mysqld服务。
打开mysql-5.0.45-linux-i686下的configure文件,可以看到其内容为:
#!/bin/sh if test ! -x ./scripts/mysql_install_db then echo "I didn't find the script './scripts/mysql_install_db'." echo "Please execute this script in the mysql distribution directory!" exit 1; fi echo "NOTE: This is a MySQL binary distribution. It's ready to run, you don't" echo "need to configure it!" echo "" echo "To help you a bit, I am now going to create the needed MySQL databases" echo "and start the MySQL server for you. If you run into any trouble, please" echo "consult the MySQL manual, that you can find in the Docs directory." echo "" ./scripts/mysql_install_db --no-defaults if [ $? = 0 ] then echo "Starting the mysqld server. You can test that it is up and running" echo "with the command:" echo "./bin/mysqladmin version" ./bin/mysqld_safe --no-defaults & #默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock fi
可以看到:它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.
如果想让mysql启动时调用自己指定的my.cnf的位置。可以把configure文件内容里的./bin/mysqld_safe --no-defaults &修改为:
./bin/mysqld_safe --defaults-file=my3.cnf & #当前目录下的my.cnf,也可以自己指定绝对路径
建立my3.cnf和数据目录data3
编辑my3.cnf:
[mysqld] port = 3306 socket = /home/mahaibo/mysql-5.0.45-linux-i686/mysql3.sock datadir = /home/mahaibo/mysql-5.0.45-linux-i686/data3 ndbcluster # run NDB engine ndb-connectstring=127.0.0.1:2203 # location of MGM node 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
启动mysqld服务:
./configure3
如果这时在登录到mgmd管理节点的客户端mgm,
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (Version: 5.0.45, Nodegroup: 0, Master) id=3 @127.0.0.1 (Version: 5.0.45, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 @127.0.0.1 (Version: 5.0.45)
可以看到mysqld也是连接状态了
登录到mysqld的客户端,然后
show variables like 'have%';
可以看到
have_ndbcluster 为 YES,说明ndbcluster引擎已经打开。
可以建立一个ndbcluster引擎的表测试下看是否成功
create table table1 (aa int) engine=ndbcluster; insert into table1 values(11); insert into table1 values(22);都没有问题。
show create table table1;
可以看到:
mysql> show create table table1; +--------+------------------------------------------------------------------------------------------------+ | Table | Create Table | +--------+------------------------------------------------------------------------------------------------+ | table1 | CREATE TABLE `table1` ( `aa` int(11) default NULL ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 | +--------+------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
以上只是记录的配置流水账过程,也许有些说的不对的地方,请多指点。具体项目应用还需要具体参考mysql文档进行配置
评论
13 楼
xianglei
2008-12-04
galaxystar 写道
mysql的master-slave部署方式,听说有延迟?
对是有延迟,只有在很高的并发下才能发现
12 楼
liangguanhui
2008-02-29
YRHYRH 写道
dogstar 写道
谁能给一个mysql部署大型web应用的最佳实践,那就造福大众了。:),结合mysqlProxy那就更爽了。。
没有多少个人是真正懂的.都是在这里等着别人免费喂到你们的口上?本身并不难的东西.有多少人自己去实践过?没有做就不要发言.在这里贻害后生!你们有什么资格谈MYSQL的性能,稳定性?
11 楼
YRHYRH
2008-02-05
dogstar 写道
谁能给一个mysql部署大型web应用的最佳实践,那就造福大众了。:),结合mysqlProxy那就更爽了。。
没有多少个人是真正懂的.都是在这里等着别人免费喂到你们的口上?本身并不难的东西.有多少人自己去实践过?没有做就不要发言.在这里贻害后生!你们有什么资格谈MYSQL的性能,稳定性?
10 楼
dogstar
2008-01-19
谁能给一个mysql部署大型web应用的最佳实践,那就造福大众了。:),结合mysqlProxy那就更爽了。。
9 楼
galaxystar
2008-01-18
mysql的master-slave部署方式,听说有延迟?
8 楼
ztka
2008-01-12
mysql的NDB是集群 不是master slave结构
7 楼
netstu
2008-01-08
关键是mysql集群不是真正意义上的集群吧?
是主从关系吧
能实现像oracle一样的rac集群吗?
是主从关系吧
能实现像oracle一样的rac集群吗?
6 楼
ztka
2008-01-03
mysql 的cluster本质就是 把db装入内存 进行cluster,NDB就是放入内存的引擎
5 楼
andyao
2007-12-28
MySQL集群问题还是很多的
4 楼
lin_zy
2007-12-27
不是把,8g内存,
mysql支持几个数据库,支持多少人同时访问啊
mysql支持几个数据库,支持多少人同时访问啊
3 楼
dingyuan
2007-12-22
ttitfly 写道
mysql集群架构主要分为:数据节点(ndbd),管理节点(mgmd),服务节点(mysqld)
附件是mysql集群整体架构图
1. 下载:http://dev.mysql.com/downloads/mysql/5.0.html#linux 可以从这里下载 mysql-5.0.45-linux-i686.tar.gz
此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。
2. 解压:
下载的这个.tar.gz是编译后的文件,只需要解压即可。
3. 配置
比如解压后的文件都放在:/home/mahaibo/mysql-5.0.45-linux-i686目录下。
数据节点(ndbd),管理节点(mgmd),服务节点(mysqld) 三个启动顺序是
mgmd ---> ndbd ---> mysqld
可以在同一台电脑上做个简单的配置和测试。以在同一台电脑上不同端口为例。实际中肯定是需要分布在不同的服务器上的。
A: 配置mgmd,并启动
在/home/mahaibo/mysql-5.0.45-linux-i686建立一个mgmd.cnf和mgmd的数据目录mgmddata ,编辑mgmd.cnf文件:
可以看到配置了2个数据节点ndbd,也就是说改管理节点可以管理小于或等于2个数据节点。管理节点mgmd的端口为2203。
启动mgmd服务:
启动后,登录mgmd的客户端mgm可以查看具体信息:
可以看到ndbd和mysqld都是not connected状态,因为这2个服务都还没有启动。
B: 启动数据节点(ndbd)
以启动2个数据节点为例。
分别建立ndbd1.cnf ,ndbd1data数据目录
编辑ndbd1.cnf:
启动第一个ndbd数据节点
第一次启动需要加--initial参数。
第2个数据节点(ndbd)也需要做同样的配置和启动操作。分别建立ndbd2.cnf ,ndbd2data数据目录
ndbd2.cnf的配置和ndbd1.cnf的配置几乎是一样的,只是数据目录不一样。
启动第2个数据节点ndbd:
这时,如果登录到mgmd管理节点的客户端mgm,
可以看到ndbd的2个节点都是连接状态了,而不是not connected状态了,但是mysqld还是not connected状态。
C: 启动mysqld服务。
打开mysql-5.0.45-linux-i686下的configure文件,可以看到其内容为:
可以看到:它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.
如果想让mysql启动时调用自己指定的my.cnf的位置。可以把configure文件内容里的./bin/mysqld_safe --no-defaults &修改为:
建立my3.cnf和数据目录data3
编辑my3.cnf:
启动mysqld服务:
如果这时在登录到mgmd管理节点的客户端mgm,
可以看到mysqld也是连接状态了
登录到mysqld的客户端,然后
可以看到
have_ndbcluster 为 YES,说明ndbcluster引擎已经打开。
可以建立一个ndbcluster引擎的表测试下看是否成功
show create table table1;
可以看到:
以上只是记录的配置流水账过程,也许有些说的不对的地方,请多指点。具体项目应用还需要具体参考mysql文档进行配置
附件是mysql集群整体架构图
1. 下载:http://dev.mysql.com/downloads/mysql/5.0.html#linux 可以从这里下载 mysql-5.0.45-linux-i686.tar.gz
此包里已经包含了mysql-max包(mysql集群需要安装mysql-max包)。
2. 解压:
tar -zxvf apache-tomcat-5.5.25.tar.gz
下载的这个.tar.gz是编译后的文件,只需要解压即可。
3. 配置
比如解压后的文件都放在:/home/mahaibo/mysql-5.0.45-linux-i686目录下。
数据节点(ndbd),管理节点(mgmd),服务节点(mysqld) 三个启动顺序是
mgmd ---> ndbd ---> mysqld
可以在同一台电脑上做个简单的配置和测试。以在同一台电脑上不同端口为例。实际中肯定是需要分布在不同的服务器上的。
A: 配置mgmd,并启动
在/home/mahaibo/mysql-5.0.45-linux-i686建立一个mgmd.cnf和mgmd的数据目录mgmddata ,编辑mgmd.cnf文件:
# Options affecting ndbd processes on all data nodes: [NDBD DEFAULT] NoOfReplicas=1 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # 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 cluster # Note: It is recommended beginning with MySQL 5.0 that # you do not specify the portnumber at all and simply allow # the default value to be used instead # Management process options: [NDB_MGMD] hostname=127.0.0.1 # Hostname or IP address of MGM node ,mgmd's hostname datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for MGM node logfiles PortNumber=2203 #default value: 1186 # Options for data node "A": [NDBD] # (one [NDBD] section per data node) hostname=127.0.0.1 # Hostname or IP address ,allow to access datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for this data node's datafiles # Options for data node "B": [NDBD] hostname=127.0.0.1 # Hostname or IP address datadir=/home/mahaibo/mysql-5.0.45-linux-i686/mgmddata # Directory for this data node's datafiles [MYSQLD] hostname=127.0.0.1 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)
可以看到配置了2个数据节点ndbd,也就是说改管理节点可以管理小于或等于2个数据节点。管理节点mgmd的端口为2203。
启动mgmd服务:
bin/ndb_mgmd -f mgmd.cnf
启动后,登录mgmd的客户端mgm可以查看具体信息:
bin/ndb_mgm 127.0.0.1 2203 //因为mgmd服务用的端口是2203,所以要通过该端口链接
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 (not connected, accepting connect from 127.0.0.1) id=3 (not connected, accepting connect from 127.0.0.1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 (not connected, accepting connect from 127.0.0.1) ndb_mgm>
可以看到ndbd和mysqld都是not connected状态,因为这2个服务都还没有启动。
B: 启动数据节点(ndbd)
以启动2个数据节点为例。
分别建立ndbd1.cnf ,ndbd1data数据目录
编辑ndbd1.cnf:
[mysqld] DataDir=/home/mahaibo/mysql-5.0.45-linux-i686/ndbd1data//数据目录 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 ndb-connectstring=127.0.0.1:2203 [mysql_cluster] ndb-connectstring=127.0.0.1:2203 // 连接mgmd服务的ip与端口
启动第一个ndbd数据节点
bin/ndbd --defaults-file=ndbd1.cnf --initial
第一次启动需要加--initial参数。
第2个数据节点(ndbd)也需要做同样的配置和启动操作。分别建立ndbd2.cnf ,ndbd2data数据目录
ndbd2.cnf的配置和ndbd1.cnf的配置几乎是一样的,只是数据目录不一样。
启动第2个数据节点ndbd:
bin/ndbd --defaults-file=ndbd2.cnf --initial
这时,如果登录到mgmd管理节点的客户端mgm,
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (Version: 5.0.45, Nodegroup: 0, Master) id=3 @127.0.0.1 (Version: 5.0.45, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 (not connected, accepting connect from 127.0.0.1) ndb_mgm>
可以看到ndbd的2个节点都是连接状态了,而不是not connected状态了,但是mysqld还是not connected状态。
C: 启动mysqld服务。
打开mysql-5.0.45-linux-i686下的configure文件,可以看到其内容为:
#!/bin/sh if test ! -x ./scripts/mysql_install_db then echo "I didn't find the script './scripts/mysql_install_db'." echo "Please execute this script in the mysql distribution directory!" exit 1; fi echo "NOTE: This is a MySQL binary distribution. It's ready to run, you don't" echo "need to configure it!" echo "" echo "To help you a bit, I am now going to create the needed MySQL databases" echo "and start the MySQL server for you. If you run into any trouble, please" echo "consult the MySQL manual, that you can find in the Docs directory." echo "" ./scripts/mysql_install_db --no-defaults if [ $? = 0 ] then echo "Starting the mysqld server. You can test that it is up and running" echo "with the command:" echo "./bin/mysqladmin version" ./bin/mysqld_safe --no-defaults & #默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock fi
可以看到:它实际是上先执行./scripts/mysql_install_db,然后在去通过./bin/mysqld_safe去启动mysql服务的,用的参数是--no-defaults,也就是默认会去根据/etc/my.cnf这个配置文件进行启动,并且生成的sock端口会放在/tmp/mysql.sock.
如果想让mysql启动时调用自己指定的my.cnf的位置。可以把configure文件内容里的./bin/mysqld_safe --no-defaults &修改为:
./bin/mysqld_safe --defaults-file=my3.cnf & #当前目录下的my.cnf,也可以自己指定绝对路径
建立my3.cnf和数据目录data3
编辑my3.cnf:
[mysqld] port = 3306 socket = /home/mahaibo/mysql-5.0.45-linux-i686/mysql3.sock datadir = /home/mahaibo/mysql-5.0.45-linux-i686/data3 ndbcluster # run NDB engine ndb-connectstring=127.0.0.1:2203 # location of MGM node 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
启动mysqld服务:
./configure3
如果这时在登录到mgmd管理节点的客户端mgm,
[mahaibo@client mysql-5.0.45-linux-i686]$ bin/ndb_mgm 127.0.0.1 2203 -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: 127.0.0.1:2203 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @127.0.0.1 (Version: 5.0.45, Nodegroup: 0, Master) id=3 @127.0.0.1 (Version: 5.0.45, Nodegroup: 1) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 5.0.45) [mysqld(API)] 1 node(s) id=4 @127.0.0.1 (Version: 5.0.45)
可以看到mysqld也是连接状态了
登录到mysqld的客户端,然后
show variables like 'have%';
可以看到
have_ndbcluster 为 YES,说明ndbcluster引擎已经打开。
可以建立一个ndbcluster引擎的表测试下看是否成功
create table table1 (aa int) engine=ndbcluster; insert into table1 values(11); insert into table1 values(22);都没有问题。
show create table table1;
可以看到:
mysql> show create table table1; +--------+------------------------------------------------------------------------------------------------+ | Table | Create Table | +--------+------------------------------------------------------------------------------------------------+ | table1 | CREATE TABLE `table1` ( `aa` int(11) default NULL ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 | +--------+------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
以上只是记录的配置流水账过程,也许有些说的不对的地方,请多指点。具体项目应用还需要具体参考mysql文档进行配置
2 楼
ttitfly
2007-12-21
ahuaxuan 写道
请问一下楼主,mysql的集群是否稳定,听人说mysql集群不是很稳定,不知道楼主有没有这方面的经验
会有这种问题吗?具体我还没有遇到过,还需要做大量测试。
1 楼
ahuaxuan
2007-12-21
请问一下楼主,mysql的集群是否稳定,听人说mysql集群不是很稳定,不知道楼主有没有这方面的经验
发表评论
-
sqlserver2005获取连接失败解决办法
2008-04-02 23:48 4638sqlserver2005获取连接失败:com.microso ... -
mysql主辅库同步
2008-03-14 17:54 1113主库:192.168.40.4 DB:testsyn ... -
linux上安装mysql
2008-02-02 14:24 1612首先需要建立一个mysql用户,和一个mysql用户组 gro ... -
mysql集群
2007-12-10 17:33 1930mysql集群,附件是个整体架构图 集群分为:数据节点(n ... -
hsqldb使用
2007-11-28 11:46 7721hsqldb有下面几种模式 1.S ... -
java中使用sqlite数据库
2007-11-27 11:10 26319sqlite数据库第三方java扩展包下载地址:http:// ... -
mysql几个知识点
2007-11-07 17:28 11611.导出建表语句 sql 代码 mysqldu ... -
Table xxx is marked as crashed and should be repaired
2007-10-08 10:19 5116Caused by: java.sql.SQLExcepti ... -
BDB-JE的SecondaryIndex翻译
2007-08-14 11:19 2017SecondaryIndex SecondaryIndex是一 ... -
BDB-JE的PrimaryIndex翻译
2007-08-14 10:43 2762PrimaryIndex PrimaryIndex是为了一个实 ... -
mysql sql
2007-04-13 15:24 1339grant select on crawlerfeedsky ... -
有关数据存取的乱码解决方案
2007-01-11 11:26 1695在“要是写入前我的字符集是转成了GBK后写入的,而 ... -
mysql 重新建立索引
2007-01-08 17:57 4221mysql 重新建立索引 ./myisamchk -r ...
相关推荐
MySQL集群是一种高可用性和高性能的数据库解决方案,它通过分布式数据存储和处理来提供服务。在本篇中,我们将深入探讨MySQL集群的相关知识点,包括其架构、工作原理、优点与缺点,以及如何设置和管理MySQL集群。 1...
我们需要进行测试一下,不可能我们服务器那边整理好mycat之后就认为我们已经使用mycat管理了MySQL集群,接下来我们测试mycat对故障节点的管理,就是我们让四个从节点全部宕机,然后再测试,对其中一些数据进行修改,...
亲自安装整理,mysql安装集群安装手册以及问题整理,亲自验证真实有效。
《47道MySQL数据库集群高频题整理(附答案背诵版).md》是一份专为数据库管理员、开发人员和数据工程师设计的学习资源,涵盖了MySQL数据库集群中最常见和高频的问题。通过系统地整理和解析每一道题目,这份资料旨在...
自己搭建mysql群集的心得,整理的资料,向往对广大it行业的朋友有多帮助!!多谢指点
7. **高可用性**:探讨MySQL集群、Galera复制和分布式数据库解决方案,以提高系统的可用性和扩展性。 8. **安全与权限**:学习如何设置用户权限、加密数据、审计日志以及应对SQL注入等安全问题。 9. **监控与调优*...
MySQL 双主模式高可用集群系统的关键技术点 通过 KeepAlived 搭建 MySQL 双主模式的高可用集群系统,需要了解以下几个关键技术点: 1. MySQL Replication 技术:MySQL Replication 技术是实现高可用集群系统的核心...
mysql-cluster集群可是坑死我了,花了一周多才慢慢搞明白,太多不懂太多疑问,网上搜的大部分说的不清不楚也配不成功,现整理一个发给大家共享一下,1分算是辛苦分吧,以前在csdn页下了不少资料,这次当做反哺吧,...
适合对mysql有一定基础的同学,涉及mysql调优、集群等操作,包含详细的操作步骤和示例代码。 1、性能优化 1.1、Mysql索引底层数据结构与算法 1.2、Explain工具 1.3、索引下推 1.4、Trace工具 1.5、索引优化最佳实践 ...
6.开源数据库MySQL DBA运维实战 第6章 集群.学习笔记整理分享给需要的同学
1. **MySQL服务安装**:集群需要使用MySQL作为数据库服务,安装过程中可能需要调整相关配置以适应集群的需求。 2. **Stratos服务安装**:包括进行通用配置和特定配置。 - **通用配置文件**:包括`carbon.xml`, `...
此外,对于生产环境,建议使用MySQL的复制功能或集群方案来提供更高的可用性和数据安全性。 通过这个教程,宋正河整理了在CentOS 6.2上安装和管理两个MySQL实例的详细步骤,对于需要在同一系统中运行多个数据库服务...
以下是从“mysql面试题 pdf整理版内容节选”中提炼出的一些关键知识点: 1. **SQL基础**: - SQL(结构化查询语言)用于管理和操作数据库,包括CRUD(创建、读取、更新和删除)操作。 - 数据类型:了解如INT、...
从入门到精通的整理V2版,对MySQL的基本概念、结构、特性和优化等方面进行了详细的阐述,适合初学者和有经验的数据库管理员(DBA)进行学习和参考。 首先,了解数据库的基本概念至关重要。数据库是存储、管理、处理...