关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »MySQL集群在Ubuntu 9.0上的配置方法

    MySQL集群在Ubuntu 9.0上的配置方法

    2010-08-12 15:41:00 出处:ITJS
    分享

    大家在网上都能找到都是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.sbin.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> 

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    windows 7系统中下载保存文件时不显示桌面选项的解决方法图解

    一起来说 Vim 语

    MySQL DriverCS来连接MySQL的代码示例

    windows 7系统下触控笔连按数位板出现水波纹该怎么解决?

    windows 7系统的电脑发出嘟嘟嘟的声音该怎么解决?

    MySQL访问限制的实际设置的2种方法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。