当前位置:首页 > 系统运维 > 正文内容

MySQL集群在Ubuntu 9.0上的配置 ***

a8116255316年前 (2010-08-12)系统运维7

大家在网上都能找到都是RedHat系统等等,对Ubuntu系统MySQL集群就没有介绍文章

我现在写写Ubuntu这个MySQL集群 *** 。新手不要骂我,呵呵。

介绍 *** 环境:

测试环境:

Server1: ndbd 192.168.245.11  Server2: ndbd 192.168.245.12  Server3: mysqld –ndb-cluster 192.168.245.13 

ndbd: 数据库节点。

mysqld –ndb-cluster: MySQL服务器节点,程序直接访问的是这台机器的IP。默认端口仍是3306。

ndbd_mgm ndbd_mgmd:管理节点。管理/查看各库节点和服务器节点的状态。

二、集群方案

1.管理节点:server3(192.168.245.13)

2.存储节点:server1(192.168.245.11),server2(192.168.245.12)

3.SQL节点:server1(192.168.245.11),server2(192.168.245.12),server3(192.168.245.13)

三、mysql安装和配置

1.安装,sudo apt-get install mysql-server

2.配置这三台服务器上配置my.cnf,这三台服务器都要配置

vim /etc/mysql/my.cnf  —————————————–my.cnf开始——————————————–  Ubuntu@ubuntu:~$ cat /etc/mysql/my.cnf  #  # The MySQL database server configuration file.  #  # You can copy this to one of:  # - “/etc/mysql/my.cnf” to set global options,  # - “~/.my.cnf” to set user-specific options.  #  # One can use all long options that the program supports.  # Run program with –help to get a list of available options and with  # –print-defaults to see which it would actually understand and use.  #  # For explanations see  # http://dev.mysql.com/doc/mysql/en/serve ... ables.html   # This will be passed to all mysql clients  # It has been reported that passwords should be enclosed with ticks/quotes  # escpecially if they contain “#” chars…  # Remember to edit /etc/mysql/debian.cnf when changing the socket location.  [client]  port = 3306 socket = /var/run/mysqld/mysqld.sock   # Here is entries for some specific programs  # The following values assume you have at least 32M ram   # This was formally known as [safe_mysqld]. Both versions are currently parsed.  [mysqld_safe]  socket = /var/run/mysqld/mysqld.sock  nice = 0  [mysqld]  #  # * Basic Settings  #   #  # * IMPORTANT  # If you make changes to these settings and your system uses apparmor, you may  # also need to also adjust /etc/apparmor.d/usr. *** in.mysqld.  #   user = mysql pid-file = /var/run/mysqld/mysqld.pid  socket = /var/run/mysqld/mysqld.sock  port = 3306 basedir = /usr  datadir = /var/lib/mysql  tmpdir = /tmp  language = /usr/share/mysql/english  skip-external-locking  #  # Instead of skip-networking the default is now to listen only on  # localhost which is more compatible and is not less secure.  bind-address = 127.0.0.1  #  # * Fine Tuning  #  key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 #  # * Query Cache Configuration  #  query_cache_limit = 1M query_cache_size = 16M #  # * Logging and Replication  #  # Both location gets rotated by the cronjob.  # Be aware that this log type is a performance killer.  #log = /var/log/mysql/mysql.log  #  # Error logging goes to syslog. This is a Debian improvement   #  # Here you can see queries with especially long duration  #log_slow_queries = /var/log/mysql/mysql-slow.log  #long_query_time = 2 #log-queries-not-using-indexes  #  # The following can be used as easy to replay backup logs or for replication.  # note: if you are setting up a replication slave, see README.Debian about  # other settings you may need to change.  #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log  expire_logs_days = 10 max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name #  # * BerkeleyDB  #  # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.  skip-bdb  #  # * MyISAM  #  # MyISAM is enabled by default with a 10MB datafile in /var/lib/mysql/.  # Read the manual for more MyISAM related options. There are many!  # You might want to disable MyISAM to shrink the mysqld process by circa 100MB.  #skip-innodb  #  # * Security Features  #  # Read the manual, too, if you want chroot!  chroot = /var/lib/mysql/  #  # For generating SSL certificates I recommend the OpenSSL GUI “tinyca”.  #  ssl-ca=/etc/mysql/cacert.pem  ssl-cert=/etc/mysql/server-cert.pem  ssl-key=/etc/mysql/server-key.pem   ndbcluster  ndb-connectstring=192.168.245.13   [mysqldump]  quick  quote-names  max_allowed_packet = 16M  [mysql]  #no-auto-rehash # faster start of mysql but no tab completition   [isamchk]  key_buffer = 16M  #  # * NDB Cluster  #  # See /usr/share/doc/mysql-server-*/README.Debian for more information.  #  # The following configuration is read by the NDB Data Nodes (ndbd processes)   # not from the NDB Management Nodes (ndb_mgmd processes).  #  [MYSQL_CLUSTER]   ndb-connectstring=192.168.245.13   #  # * IMPORTANT: Additional settings that can override those from this file!  # The files must end with ‘.cnf’, otherwise they’ll be ignored.  #  !includedir /etc/mysql/conf.d/   Ubuntu@ubuntu:~$  ———————————my.cnf结束——————————————————— 

主要在:[mysqld]下添加:

ndbcluster  ndb-connectstring=192.168.245.13 

和添加

[MYSQL_CLUSTER]  ndb-connectstring=192.168.245.13 

上面三台服务器都要一样

2.配置ndb_mgmd.cnf(192.168.245.13服务器上配置)

复制/usr/share/doc/mysql-server-5.0/examples/ndb_mgmd.cnf到/etc/mysql/ndb_mgmd.cnf

编辑ndb_mgmd.cnf

——————-开始————  Ubuntu@ubuntu:~$ cat /etc/mysql/ndb_mgmd.cnf  [NDBD DEFAULT]  NoOfReplicas=2 DataMemory=10MB IndexMemory=25MB MaxNoOfTables=256 MaxNoOfOrderedIndexes=256 MaxNoOfUniqueHashIndexes=128  [MYSQLD DEFAULT]  [NDB_MGMD DEFAULT]  [TCP DEFAULT]  [NDB_MGMD]  Id=1 # the NDB Management Node (this one)  HostName=192.168.245.13  DataDir= /var/lib/mysql-cluster   [NDBD]  Id=2 # the first NDB Data Node  HostName=192.168.245.11  DataDir= /var/lib/mysql-cluster   [NDBD]  Id=3 # the second NDB Data Node  HostName=192.168.245.12  DataDir=/var/lib/mysql-cluster   [MYSQLD]  Id=4 # the first SQL node  HostName=192.168.245.13  [MYSQLD]  Id=5 # the first SQL node  HostName=192.168.245.11  [MYSQLD]  Id=6 # the first SQL node  HostName=192.168.245.12   Ubuntu@ubuntu:~$   ——————-结束———— 

先启动:

13服务器:

sudo /etc/init.d/mysql-ndb-mgm start 

然后启动

11.12服务器

sudo /etc/init.d/mysql-ndb start 

最后启动,13.11.12服务器mysql服务

sudo /etc/init.d/mysql start 

测试:

13服务器上:

neo@mgm:~$ 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.245.11 (Version: 5.0.51, Nodegroup: 0)  id=3 @192.168.245.12 (Version: 5.0.51, Nodegroup: 0, Master)   [ndb_mgmd(MGM)] 1 node(s)  id=1 @192.168.245.13 (Version: 5.0.51)   [mysqld(API)] 2 node(s)  id=4 @192.168.245.13 (Version: 5.0.51)  id=5 @192.168.245.11 (Version: 5.0.51)  id=5 @192.168.245.12 (Version: 5.0.51)   ndb_mgm> 

与没有使用簇的MySQL相比,在MySQL簇内操作数据的方式没有太大的区别。

执行这类操作时应记住三点

1.表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或用这类选项之一替换任何已有的ENGINE(或TYPE)选项。

2.另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

3.当你在一个节点上运行create database mydb;你去其他sql node上执行show databases;将不能看到mydb,你需要创建它,然后use mydb; show tables;你将看到同步的表。

SQL Node 1  neo@sql:~$ mysql -uroot -p  Enter password:  Welcome to the MySQL monitor. Commands end with ; or g.  Your MySQL connection id is 7  Server version: 5.0.51a-3Ubuntu5.1 (Ubuntu)   Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.   mysql> create database cluster;  Query OK, 1 row affected (0.00 sec)   mysql> use cluster  Database changed  mysql> create table city( id mediumint unsigned not null auto_increment primary key, name varchar(20) not null default ” ) engine = ndbcluster default   charset utf8;  Query OK, 0 rows affected (1.07 sec)   mysql> insert into city values(1, ‘Shenzhen’);  Query OK, 1 row affected (0.12 sec)   mysql> insert into city values(2, ‘Guangdong’);  Query OK, 1 row affected (0.00 sec)   SQL Node 2   neo@sql:~$ mysql -uroot -p  Enter password:  Welcome to the MySQL monitor. Commands end with ; or g.  Your MySQL connection id is 7  Server version: 5.0.51a-3Ubuntu5.1 (Ubuntu)   Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.   mysql> show databases;  ——————–   | Database |  ——————–   | information_schema |  | example |  | mydb |  | mysql |  | neo |  ——————–   6 rows in set (0.13 sec)   mysql> create database cluster;  Query OK, 1 row affected (0.00 sec)   mysql> show databases;  ——————–   | Database |  ——————–   | information_schema |  | cluster |  | example |  | mydb |  | mysql |  | neo |  ——————–   6 rows in set (0.13 sec)   mysql> use cluster;  Reading table information for completion of table and column names  You can turn off this feature to get a quicker startup with -A   Database changed  mysql> show tables;  ——————-   | Tables_in_cluster |  ——————-   | city |  ——————-   1 row in set (0.01 sec)   mysql> select * from city;  —- ———–   | id | name |  —- ———–   | 1 | Shenzhen |  | 2 | Guangdong |  —- ———–   2 rows in set (0.03 sec)   mysql> 

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/22299.html

分享给朋友:

“MySQL集群在Ubuntu 9.0上的配置 *** ” 的相关文章

Windows7开机后出现黑一下屏性能降低

Windows7开机后出现黑一下屏性能降低

打开IE浏览器的时候、聊QQ的时候、玩游戏的时候… … 这到底是谁惹的祸呢? 很多人都知道Windows 7桌面特效全部开启会使系统性能降低,那到底是哪个特效导致的这一情况呢? 解决办法: 右键计算机,高级系统设置-性能-设置-关闭”任务栏和开始菜单使用动画“和”最大化和最小化动态显示窗口“...

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

windows 7如何给c盘扩容 图解windows 7 64位系统C盘扩容方法(自

用Windows 7久了,C盘越来越大,原来50G的空间基本用完了,又不想重装系统,就想着能不能直接扩容。 在网上搜了半天,看了无数教程,都写得不明不白的,结合了几篇教程才终于搞明白。 重新总结一下,方便有需要的人。 所用软件: http://www.jb51.net/softs/57895...

Ubuntu系统上挂载U盘和Windows分区问题的解决实例

Ubuntu系统上挂载U盘和Windows分区问题的解决实例

Ubuntu挂载U盘问题 复制代码代码如下: 老是说special device /dev/sdb1 does not exist,无比郁闷 复制代码代码如下:#fdisk /dev/sda 复制代码代码如下: 是有个 这个咚咚。。。。 复制代码代码如下: 最后: 复制代码代码如下:...

Ubuntu14.04不支持U盘exfat格式该如何解决

Ubuntu14.04不支持U盘exfat格式该如何解决

exfat是U盘的文件系统,很多系统都支持exfat格式的使用,但Ubuntu系统并不支持exfat格式,要如何处理呢?下面小编就给大家介绍下Ubuntu14.04不支持u盘exfat格式的解决方法,一起来了解下吧。 很多用户都想知道为什么要U盘使用exfat格式呢?主要有以下两种原因: 1...

Win 7与vista的网络共享方法详解

Win 7与vista的网络共享方法详解

一般大部分人在Windows 7/Vista共享文件为了方便都去掉了密码保护的共享。这样在共享文件夹时就需要添加Everyone或Guest权限。一般共享文件夹时是以向导的形式,添加用户设置权限都很简单,不会有问题。但看到一些人共享驱动器时却遇到了问题。就是网上邻居能够看到共享的驱动器,访问却提示没...

windows 7系统安装遇到的问题及解决办法

windows 7系统安装遇到的问题及解决办法

问题1:屏幕出现Please wait...等待许久不见动静 解决方法:这是Windows 7安装开始时安装程序加载时的提示语。假如卡在这个地方无法进行下去,请检查电脑硬件是否正常工作。但是假如电脑本身配置较低,可能要多等一下,稍安勿躁。 问题2:屏幕卡住在Setup is copying...