Linux运维MySQL

bense83

贡献于2012-12-17

字数:0 关键词: MySQL 数据库服务器 SQL

赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 1 系统运维之 系统运维之 系统运维之 系统运维之 MySQLMySQLMySQLMySQL DBADBADBADBA UNIXHOTUNIXHOTUNIXHOTUNIXHOT 开源社区开源社区开源社区开源社区 http://www.unixhot.com 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 2 系统运维之 系统运维之 系统运维之 系统运维之 MySQLMySQLMySQLMySQL DBADBADBADBA 时 间:2010 年6月3日 姓 名:赵班长 版 本:1.0 实验目的:通过实验掌握 MySQL 数据库相关应用。 实验环境:Red Hat Enterprise Linux Server release 5.3 (Tikanga) 实验简介: UNIXHOT 开源社区致力于为想成为系统运维工程师、系统集成工程师、系统架构师、MySQL DBA 和Oracle DBA 的互联网朋友们创造一个开源的、共享的、完整的、创新的、一站式的学习和交流平 台。欢迎大家加入,让我们成为一个圈子。 注意:本文为从入门到精通的一个一站式学习文档,如果想更深入的学习 MySQL,请参考 MySQL 的官方文档,也可以在 UnixHot 开源论坛讨论学习。 此文档持续更新中......学习讨论请进-->【MySQL DBA】版块 实验步骤: 第一章 MySQL概述 第二章 MySQL源码安装 第三章 MySQL Replication 第四章 MySQL Proxy 第五章 MySQL Cluster 实验内容: 第一章 MySQLMySQLMySQLMySQL 概述 1.1 MySQL 简介 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 3 MySQL是最流行的开放源码 SQL数据库管理系统,它是由 MySQL AB公司开发、发布并支持 的。它的插入式存储引擎可以让使用者根据实际应用使用不同的存储 1.2 MySQL 相关链接 MySQL官方网站:http://www.mysql.com/ MySQL社区版本下载地址:http://www.mysql.com/downloads/mysql/ MySQL 中文文档:http://dev.mysql.com/doc/refman/5.1/zh/index.html 第二章 MySQLMySQLMySQLMySQL 源码安装 2.1 解压并编译安装 [root@MySQL-Master src]# tar zxvf mysql-5.1.45.tar.gz [root@MySQL-Master src]# cd mysql-5.1.45 [root@MySQL-Master mysql-5.1.45]# ./configure --prefix=/usr/local/mysql \ --localstatedir=/unixhot/mysql --enable-assembler --with-system-type="RedHat Enterprise" \ --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static \ --with-pthread --enable-static --with-big-tables --without-ndb-debug \ --with-charset=utf8 --with-extra-charsets=all \ --without-debug --enable-thread-safe-client --enable-local-infile --with-plugins=max [root@MySQL-Master mysql-5.1.45]# make && make install 2.2 安装参数介绍 --prefix=/usr/local/mysql //主程序安装目录 --localstatedir=/data/mysql //库文件存放目录 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static//静态编译安装 mysql客户端和服务端 --with-pthread //采用线程 --with-big-tables //对大表的支持 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 4 --with-charset=utf8 //默认字符集为 utf8 --with-extra-charsets=all //安装所有字符集 --without-debug //去掉 debug 模式 --enable-thread-safe-client //客户端连接采用静态 --with-plugins=max //添加对 innodb 及partition 的支持 --enable-local-infile //对load data 的支持 2.3 创建用户和组 [root@MySQL-Master mysql-5.1.45]# groupadd mysql [root@MySQL-Master mysql-5.1.45]# useradd -s /sbin/nologin -M-g mysql mysql 2.4 安装数据库 [root@MySQL-Master mysql-5.1.45]# cd /usr/local/mysql/ [root@MySQL-Master mysql]# mkdir -p /unixhot/mysql [root@MySQL-Master mysql]# bin/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/unixhot/mysql/ --user=mysql 2.5 相应权限的修改 [root@MySQL-Master mysql]# chown -R root:mysql /usr/local/mysql/ [root@MySQL-Master mysql]# chown -R mysql:mysql /unixhot/mysql/ 2.6 配置文件 [root@MySQL-Master mysql]# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf [root@MySQL-Master mysql]# cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld [root@MySQL-Master mysql]# chmod 755 /etc/init.d/mysqld [root@MySQL-Master mysql]# chkconfig --add mysqld [root@MySQL-Master mysql]# vim /root/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/mysql/bin [root@MySQL-Master mysql]# source /root/.bash_profile 2.7 启动数据库并初始化密码。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 5 [root@MySQL-Master mysql]# service mysqld start Starting MySQL [OK] [root@MySQL-Master mysql]# mysqladmin -u root password unixhot //设置成自己的密码 第三章 MySQLMySQLMySQLMySQL ReplicationReplicationReplicationReplication 4.1 MySQL Replication 概述 MySQL Replication 俗称 MySQL AB复制,主要是通过把主服务器上的二进制日志通过网络传到 从服务器上,MYSQL 会自己把二进制日志转换成相关的 DDL,DML,DCL 等语句!但这种复制不 同于 MySQL 簇,它是单向异步的。目前 MySQL 复制在企业应用率非常高,已经成为系统工程师 必备的技能。 具体的原理请参考 MySQL 官方文档:http://dev.mysql.com/doc/refman/5.1/zh/index.html 4.2 安装 MySQL 数据库同 Master 端 实验环境: 实验环境是沿用第三章实验基础上的: 主机名 IP地址 作用 MySQL-Master 192.168.140.128 MySQL 主库服务器 MySQL-Slave 192.168.140.129 MySQL 从库服务器 4.3 在MySQL Master 上的配置 4.3.14.3.14.3.14.3.1 创建 ReplicationReplicationReplicationReplication用户 mysql> GRANTREPLICATION SLAVE,reload,super ON*.*TO slave@192.168.140.129 IDENTIFIED BY'unixhot'; 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 6 4.3.24.3.24.3.24.3.2 修改 MySQLMySQLMySQLMySQL配置文件。 [root@MySQL-Master ~]# vim /etc/my.cnf server-id=1 #1..设置 server id log-bin=mysql-binlog #打开二进制日志,最好放在不同的硬盘上,减小 IO消耗 expire_logs_day=10 #设置二进制日志保存日期 max_binlog_size=500M #设置每个 binlog 文件的大小 修改完后重启数据库:[root@MySQL-Master ~]# /etc/init.d/mysqld restart 注意:mysql-5.1.45.tar.gz版本默认开启了 log-bin 选项,并且 server-id 默认为 1. 4.3.34.3.34.3.34.3.3 获得 MasterMasterMasterMaster DBDBDBDB的相关信息 mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 106 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) 注意:供Slave DB连接时使用。 4.3.44.3.44.3.44.3.4 备份 MasterMasterMasterMaster DBDBDBDB数据到 SlaveSlaveSlaveSlave DBDBDBDB 备份的方法有很多,可以直接复制数据文件,也可以使用 mysqldump,在这里不再详述。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 7 4.44.44.44.4 在MySQLMySQLMySQLMySQL SlaveSlaveSlaveSlave 上的配置。 4.4.14.4.14.4.14.4.1 修改 MySQLMySQLMySQLMySQL配置文件 [root@MySQL-Slave ~]# vim /etc/my.cnf server-id=2 #配置多个从服务器时依次设置 id 号 slave-skip-errors=all #mysql 复制可能出现主服务器上可以运行的语句,从服务器不能够运行,所 以我们在 my.cnf加一句 slave-skip-errors=all 意思是忽略所有的 sql语句错误! relay-log=mysql-relay-bin #该文件用于存放 Slave 端的 I/O线程从 Master 端读取的二进制文件信息 关闭 binlog 主要考虑到我们使用 Master 的binlog 进行增量备份,这里就不需要了。 #log-bin=mysql-bin #binlog_format=mixed 修改完后重启数据库:[root@MySQL-Slave ~]# /etc/init.d/mysqld restart 4.4.24.4.24.4.24.4.2 在SlaveSlaveSlaveSlave服务器授权。 mysql> CHANGEMASTERTO -> MASTER_HOST='192.168.140.128', -> MASTER_USER='slave', -> MASTER_PASSWORD='unixhot', -> MASTER_LOG_FILE='mysql-bin.000003', -> MASTER_LOG_POS=106; Query OK, 0 rows affected (0.04 sec) 参数说明: MASTER_HOST:Master 主机名(或者 IP地址) MASTER_USER:Slave 连接 Master 主机的用户名 MASTER_PASSWORD:Slave 连接 Master 的用户密码 MASTER_LOG_FILE:开始复制的日志文件名称 MASTER_LOG_POS:开始复制的日志文件位置,也就是 Log Position。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 8 4.4.34.4.34.4.34.4.3 启动 SlaveSlaveSlaveSlave DBDBDBDB mysql> STARTSLAVE; Query OK, 0 rows affected (0.00 sec) 4.54.54.54.5 测试复制是否成功。 可以在 Master DB创建一个数据库,或者表,到 Slave DB上看,如果配置成功就可以成功同步的。 第四章 MySQLMySQLMySQLMySQL ProxyProxyProxyProxy 4.1 MySQL 读写分离简介 MySQL-Proxy,是处在你的 MySQL 数据库客户和服务端之间的程序,它还支持嵌入性脚本语言 Lua。这个代理可以用来分析、监控和变换(transform) 通信数据。 MySQL Proxy最强大的一项功能是实现“读 写分离(Read/Write Splitting)”。基本的原理是让 主数据库处理事务性查询,而从数据库处理 SELECT 查询。数据库复制被用来把事务性查询导致的 变更同步到集群中的从数据库。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 9 4.2 MySQL 环境部署 实验环境: 实验环境是沿用第三章实验基础上的: 主机名 IP地址 作用 MySQL-Master 192.168.140.128 MySQL 主库服务器 MySQL-Slave 192.168.140.129 MySQL 从库服务器 MySQL-Proxy 192.168.140.130 MySQL 代理服务器 4.2.14.2.14.2.14.2.1 部署安装环境 [root@MySQL-Proxy ~]# rpm -q libevent glib2 pkgconfig libtool mysql-devel [root@MySQL-Proxy ~]# cd /usr/local/src [root@MySQL-Proxy src]# wget http://www.lua.org/ftp/lua-5.1.4.tar.gz [root@MySQL-Proxy src]# wget http://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-Proxy/mysql-proxy-0.6.0.tar.gz [root@MySQL-Proxy src]# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz 4.2.24.2.24.2.24.2.2 安装 lualualualua [root@MySQL-Proxy src]# tar zxvf lua-5.1.4.tar.gz [root@MySQL-Proxy src]# cd lua-5.1.4 [root@MySQL-Proxy lua-5.1.4]# vi Makefile 修改: INSTALL_TOP= /usr/local/lua [root@MySQL-Proxy lua-5.1.4]# make && make linux && make install [root@MySQL-Proxy lua-5.1.4]# export LUA_CFLAGS="-I/usr/local/lua/include" LUA_LIBS="-L/usr/local/lua/lib -llua -ldl" LDFLAGS="-L/usr/local/libevent/lib -lm" [root@MySQL-Proxy lua-5.1.4]# export CPPFLAGS="-I/usr/local/libevent/include" [root@MySQL-Proxy lua-5.1.4]# export CFLAGS="-I/usr/local/libevent/include" 4.2.34.2.34.2.34.2.3 安装 libeventlibeventlibeventlibevent [root@MySQL-Proxy src]# tar zxvf libevent-1.4.13-stable.tar.gz [root@MySQL-Proxy src]# cd libevent-1.4.13-stable [root@MySQL-Proxy libevent-1.4.13-stable]# ./configure --prefix=/usr/local/libevent [root@MySQL-Proxy libevent-1.4.13-stable]# make && make install 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 10 4.2.44.2.44.2.44.2.4 安装 MySQLMySQLMySQLMySQL [root@MySQL-Proxy src]# tar zxvf mysql-5.1.47.tar.gz [root@MySQL-Proxy src]# cd mysql-5.1.47 [root@MySQL-Proxy mysql-5.1.47]# ./configure --prefix=/usr/local/mysql --without-server 4.2.54.2.54.2.54.2.5 设置环境变量 [root@MySQL-Proxy src]# export LUA_CFLAGS="-I/usr/local/lua/include" LUA_LIBS="-L/usr/local/lua/lib -llua -ldl" LDFLAGS="-L/usr/local/libevent/lib -lm" [root@MySQL-Proxy src]# export CPPFLAGS="-I/usr/local/libevent/include" [root@MySQL-Proxy src]# export CFLAGS="-I/usr/local/libevent/include" 4.2.64.2.64.2.64.2.6 安装 MySQL-ProxyMySQL-ProxyMySQL-ProxyMySQL-Proxy 注意:如果你安装更高版本的 mysql-proxy 需要升级你的 glib。 [root@MySQL-Proxy src]# tar zxvf mysql-proxy-0.6.0.tar.gz [root@MySQL-Proxy src]# cd mysql-proxy-0.6.0 [root@MySQL-Proxy mysql-proxy-0.6.0]# ./configure --prefix=/usr/local/mysql-proxy --with-mysql=/usr/local/mysql --with-lua [root@MySQL-Proxy mysql-proxy-0.6.0]# make && make install 4.3 MySQL-Proxy 的配置 [root@MySQL-Proxy ~]# /usr/local/mysql-proxy/sbin/mysql-proxy --help-all Usage: mysql-proxy [OPTION...]- MySQL Proxy Help Options: -?,--help --help-all --help-admin --help-proxy admin module --admin-address= #管理主机监听地址和端口,默认是 4041 proxy-module -proxy-address= #代理主机监听地址和端口,默认是 4040 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 11 --proxy-read-only-backend-addresses= #只读连接时,代理服务器的监听地址及端口。 默认 4042 --proxy-backend-addresses= #连接后端真实服务器时的地址及监听端口,默认是 3306 --proxy-skip-profiling --proxy-fix-bug-25371 --proxy-lua-script= 连接真实服务器的地址及监听端口,默认是 3306 --no-proxy Application Options: -V,--version --daemon --pid-file= 4.4 MySQL Proxy 启动 4.4.14.4.14.4.14.4.1 命令行启动 [root@MySQL-Proxy ~]# /usr/local/mysql-proxy/sbin/mysql-proxy \ > --proxy-read-only-backend-addresses=192.168.140.129:3306 \ > --proxy-backend-addresses=192.168.140.128:3306 \ > --proxy-lua-script=/usr/local/mysql-proxy/share/mysql-proxy/rw-splitting.lua & 检测是否开始监听: [root@MySQL-Proxy ~]# netstat -ntlp | grep mysql tcp 0 0 0.0.0.0:4040 0.0.0.0:* LISTEN 28739/mysql-proxy tcp 0 0 0.0.0.0:4041 0.0.0.0:* LISTEN 28739/mysql-proxy 4.4.24.4.24.4.24.4.2 脚本启动 [root@MySQL-Proxy ~]# vi /etc/init.d/mysql-proxy #!/bin/bash PRODIR=/usr/local/mysql-proxy LUA_PATH=$PRODIR/share/mysql-proxy start(){ $PRODIR/sbin/mysql-proxy --proxy-read-only-backend-addresses=192.168.140.129:3306 --proxy-backend-addresses=192.168.140.128:3306 --proxy-lua-script=$LUA_PATH/rw-splitting.lua >>$PRODIR/mysql-proxy.log & } stop(){ kill $(pidof mysql-proxy) 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 12 if [ $? -ne 0 ];then kill -9 $(pidof mysql-proxy) fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" Esac [root@MySQL-Proxy ~]# chmod +x /etc/init.d/mysql-proxy [root@MySQL-Proxy ~]# /etc/init.d/mysql-proxy start 4.5 MySQL Proxy 测试 4.5.14.5.14.5.14.5.1 测试环境部署 在MySQL-Master上创建测试数据库和用户。 mysql> create database unixhot; mysql> GRANTALLPRIVILEGESON unixhot.* to proxytest@'%' identified by 'unixhot'; 4.5.24.5.24.5.24.5.2 连接测试 [root@MySQL-Proxy ~]# mysql -h 192.168.140.130 -P 4040 -u proxytest -p 输入密码即可登录。 注意:在这里只做简单测试,具体请根据具体应用进行测试。由于目前 MySQL Proxy技术还不 够成熟,如果想在生产环境部署,请慎用。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 13 第五章 MySQLMySQLMySQLMySQL ClusterClusterClusterCluster 5.1 MySQL Cluster 简介 请参考官方文档:http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html 下面是官方的MySQL Cluster 的基本架构图: 5.2 MySQL Cluster 环境搭建 搭建 MySQL Cluster 至少需要三个节点,一个管理节点来实现管理功能,一个 SQL 节点主机来 实现 MySQL server 功能,一个 ndb 节点主机实现 NDB Cluster 的功能。 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 14 5.2.15.2.15.2.15.2.1 实验环境 主机名 IP地址 作用 MySQL-SQL-Node1 192.168.140.128 SQL 节点服务器 MySQL-Data-Node1 192.168.140.129 Data 节点服务器 MySQL-MGM-Node 192.168.140.130 管理节点服务器 注意:如果你的实验环境是根据本文的设置,为了对 MySQL Cluster 的配置不冲突,请整理前面的 实验环境,如下: [root@MySQL-Proxy ~]# /etc/init.d/mysql-proxy stop [root@MySQL-Slave ~]# /etc/init.d/mysqld stop [root@MySQL-Master ~]# /etc/init.d/mysqld stop 5.2.25.2.25.2.25.2.2 部署安装环境 [root@MySQL-SQL-Node1 src]# wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-Cluster-7.1/mysql-cluster-gpl-7.1.3.tar.gz [root@MySQL-SQL-Node1 src]# chmod +x mysql-cluster-gpl-7.1.3.tar.gz [root@MySQL-SQL-Node1 src]# scp mysql-cluster-gpl-7.1.3.tar.gz 192.168.140.129:/usr/local/src [root@MySQL-SQL-Node1 src]# scp mysql-cluster-gpl-7.1.3.tar.gz 192.168.140.130:/usr/local/src 5.2.35.2.35.2.35.2.3 部署管理(MGM)(MGM)(MGM)(MGM)节点 1>1>1>1> 安装 MGMMGMMGMMGM节点 [root@MySQL-MGM-Node ~]# cd /usr/local/src [root@MySQL-MGM-Node src]# tar zxvf mysql-cluster-gpl-7.1.3.tar.gz [root@MySQL-MGM-Node src]# cd mysql-cluster-gpl-7.1.3 [root@MySQL-MGM-Node mysql-cluster-gpl-7.1.3]# ./configure --prefix=/usr/local/mysqlcluster \ --with-charset=utf8 --with-collation=utf8_general_ci \ --with-client-ldflags=-all-static -with-mysqld-ldflags=-all-static \ --enable-assembler --with-extra-charsets=complex \ --enable-thread-safe-client --with-big-tables --with-readline \ --with-ssl --with-embedded-server --enable-local-infile \ --with-unix-socket-path=/usr/local/mysqlcluster/tmp/mysql.sock \ --sysconfdir=/usr/local/mysqlcluster/etc --without-debug \ --with-mysqld-user=mysql --with-plugins=max 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 15 [root@MySQL-MGM-Node mysql-cluster-gpl-7.1.3]# make && make install 2>2>2>2> 配置 MGMMGMMGMMGM节点 [root@MySQL-MGM-Node ~]# cd /usr/local/mysqlcluster/ [root@MySQL-MGM-Node mysqlcluster]# mkdir mysql-cluster [root@MySQL-MGM-Node mysqlcluster]# vi mysql-cluster/config.ini [NDBDDEFAULT] NoOfReplicas= 1 DataMemory=50M IndexMemory=10M [NDB_MGMD] id=1 HostName=192.168.140.130 DataDir=/usr/local/mysqlcluster/mysql-cluster [NDBD] id=2 HostName=192.168.140.129 DataDir=/usr/local/mysqlcluster/ndbdata [MYSQLD] id=3 HostName=192.168.140.128 3>3>3>3> 启动 MGMMGMMGMMGM节点 [root@MySQL-MGM-Node mysqlcluster]# libexec/ndb_mgmd -f /usr/local/mysqlcluster/mysql-cluster/config.ini 5.2.45.2.45.2.45.2.4 部署 NDBD NDBD NDBD NDBD 节点 1>1>1>1> 安装 NDBD NDBD NDBD NDBD 节点 [root@MySQL-Data-Node1 ~]# cd /usr/local/src [root@MySQL-Data-Node1 src]# tar zxvf mysql-cluster-gpl-7.1.3.tar.gz [root@MySQL-Data-Node1 src]# cd mysql-cluster-gpl-7.1.3 [root@MySQL-Data-Node1 mysql-cluster-gpl-7.1.3]# ./configure --prefix=/usr/local/mysqlcluster \ --with-charset=utf8 --with-collation=utf8_general_ci \ --with-client-ldflags=-all-static -with-mysqld-ldflags=-all-static \ 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 16 --enable-assembler --with-extra-charsets=complex \ --enable-thread-safe-client --with-big-tables --with-readline \ --with-ssl --with-embedded-server --enable-local-infile \ --with-unix-socket-path=/usr/local/mysqlcluster/tmp/mysql.sock \ --sysconfdir=/usr/local/mysqlcluster/etc --without-debug \ --with-mysqld-user=mysql --with-plugins=max [root@MySQL-Data-Node1 mysql-cluster-gpl-7.1.3]# make && make install 2>2>2>2> 配置 NDBD NDBD NDBD NDBD 节点 [root@MySQL-Data-Node1 ~]# cd /usr/local/mysqlcluster/ [root@MySQL-Data-Node1 mysqlcluster]# mkdir etc ndbdata [root@MySQL-Data-Node1 mysqlcluster]# vi etc/my.cnf [mysqld] basedir=/usr/local/mysqlcluster/ datadir=/usr/local/mysqlcluster/var user=mysql port=3306 socket=/usr/local/mysql/tmp/mysql.sock ndbcluster ndb-connectstring=192.168.140.130 [mysql_cluster] ndb-connectstring=192.168.140.130 3>3>3>3> 启动 NDBD NDBD NDBD NDBD 节点 [root@MySQL-Data-Node1 mysqlcluster]# libexec/ndbd --initial 注意: 第一次启动需要加--initial 参数进行初始化工作,在以后的启动中,千万不要加该参数,因为 ndbd 程序会清除之前建立的所有用于恢复的数据文件和日志文件。 5.2.55.2.55.2.55.2.5 部署 SQLSQLSQLSQL 节点 1>1>1>1> 安装 SQLSQLSQLSQL节点 [root@MySQL-SQL-Node1 ~]# cd /usr/local/src/ [root@MySQL-SQL-Node1 src]# tar zxvf mysql-cluster-gpl-7.1.3.tar.gz [root@MySQL-SQL-Node1 src]# cd mysql-cluster-gpl-7.1.3 [root@MySQL-SQL-Node1 mysql-cluster-gpl-7.1.3]# ./configure --prefix=/usr/local/mysqlcluster \ --with-charset=utf8 --with-collation=utf8_general_ci \ --with-client-ldflags=-all-static -with-mysqld-ldflags=-all-static \ 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 17 --enable-assembler --with-extra-charsets=complex \ --enable-thread-safe-client --with-big-tables --with-readline \ --with-ssl --with-embedded-server --enable-local-infile \ --with-unix-socket-path=/usr/local/mysqlcluster/tmp/mysql.sock \ --sysconfdir=/usr/local/mysqlcluster/etc --without-debug \ --with-mysqld-user=mysql --with-plugins=max [root@MySQL-Data-Node1 mysql-cluster-gpl-7.1.3]# make && make install 2>2>2>2> 配置 SQLSQLSQLSQL节点 [root@MySQL-SQL-Node1 ~]# cd /usr/local/mysqlcluster/ [root@MySQL-SQL-Node1 mysqlcluster]# mkdir etc [root@MySQL-SQL-Node1 mysqlcluster]# chown -R root:mysql . [root@MySQL-SQL-Node1 mysqlcluster]# bin/mysql_install_db --user=mysql [root@MySQL-SQL-Node1 mysqlcluster]# vi etc/my.cnf [mysqld] basedir=/usr/local/mysqlcluster/ datadir=/usr/local/mysqlcluster/var user=mysql port=3306 socket=/usr/local/mysql/tmpcluster/mysql.sock ndbcluster ndb-connectstring=192.168.140.130 [mysql_cluster] ndb-connectstring=192.168.140.130 3>3>3>3> 启动 SQLSQLSQLSQL节点 [root@MySQL-SQL-Node1 mysqlcluster]# bin/mysqld_safe --user=mysql & 5.3 MySQL Cluster 测试 在管理节点上测试: [root@MySQL-MGM-Node ~]# cd /usr/local/mysqlcluster/ [root@MySQL-MGM-Node mysqlcluster]# bin/ndb_mgm --NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- 赵班长原创作品赵班长原创作品赵班长原创作品赵班长原创作品 转载请注明:来自 UNIXHOT开源社区 http://www.unixhot.com 18 [ndbd(NDB)] 1 node(s) id=2 @192.168.140.129 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master) [ndb_mgmd(MGM)] 1 node(s) id=1 @192.168.140.130 (mysql-5.1.44 ndb-7.1.3) [mysqld(API)]1 node(s) id=3 @192.168.140.128 (mysql-5.1.44 ndb-7.1.3) 实验答疑:http://www.unixhot.com http://www.bosshot.com

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档

相关文档