MySQL集群7_4_7在Centos7部署_第1页
MySQL集群7_4_7在Centos7部署_第2页
MySQL集群7_4_7在Centos7部署_第3页
MySQL集群7_4_7在Centos7部署_第4页
MySQL集群7_4_7在Centos7部署_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MySQL集群7_4_7在Centos7部署一、 简介1. 优缺点优点:1) 99.999%的高可用性2) 快速的自动失效切换3) 灵活的分布式体系结构,没有单点故障4) 高吞吐量和低延迟5) 可扩展性强,支持在线扩容缺点:1) 存在很多限制,比如:不支持外键,事务隔离只支持Read Committed2) 部署、管理、配置很复杂3) 占用磁盘空间大,内存大,网络环境要求高4) 备份和恢复不方便,备份可统一做,恢复需要到各个数据节点操作5) 重启的时候,数据节点将数据load到内存需要很长时间2. 硬件要求1. 管理节点对硬件要求较低2. 数据节点大内存,多核CPU3. SQL节点多核CPU二

2、、 环境及版本操作系统:Centos 7MySQL Cluster RPM版本:7.4.7下载地址:三、 安装和配置1. 卸载MySQL库rpm -e postfix-2:2.10.1-6.el7.x86_64rpm -e mariadb-libs-5.5.41-2.el7_0.x86_642. 安装perl-Data-Dumperrpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm3. 运行安装1) 创建文件目录存储节点:mkdir /var/lib/mysql/data chmod -R 1777 /var/lib/mysql管理节点:

3、mkdir /var/lib/mysql-cluster     (SQL节点:可不用)chmod -R 1777 /var/lib/mysql-cluster2) 执行安装rpm -ivh MySQL-Cluster-server-gpl-7.4.7-1.el6.x86_64.rpmrpm -ivh MySQL-Cluster-client-gpl-7.4.7-1.el6.x86_64.rpm4. 配置文件1)/var/lib/mysql-cluster/config.ini (仅管理节点需要)2) /etc/f (管理节点不需要)四、 集群

4、基本操作1. 启动集群若不想受防火墙影响,所有节点需要关闭service firewalld stop若想节省内存,数据节点需关闭MySQL服务,chkconfig mysql off启动顺序必须严格按照以下进行:1. 启动管理器ndb_mgmd -f /var/lib/mysql-cluster/config.ini2. 启动数据节点ndbd -initial(第一次启动带参数,以后不用)3. 启动SQL节点(必须等所有数据节点启动后,才能启动)mkdir /var/run/mysqldchmod -R 1777 /var/run/mysqldsu mysqlmysqld_safe -exp

5、licit_defaults_for_timestamp &tail -f /var/log/mysqld.log (查看日志情况,若有报错,则要解决)*SQL节点初始化*参考MySQL的初始化配置即可(root用户运行)1) 初始化实例mysql_install_db -user=mysql2) 设置root密码mysqladmin -u root -password3) 授权GRANT ALL PRIVILEGES ON *.* TO mysql"%" IDENTIFIED BY "123456" WITH GRANT OPTION;FLUS

6、H PRIVILEGES;2. 基本操作1. 管理节点,查看各节点状态ndb_mgm>show2. 创建表1) 连接SQL节点2) 创建数据库create database <dbname>use <dbname>3) 创建表CREATE TABLE <table name>(field) ENGINE=NDBCLUSTER / NDB特别注意,只有使用了NDBCLUSTER引擎的表才会执行同步操作3. 关闭集群1. 在管理器中执行关闭ndb_mgm>shutdown2. 关闭SQL节点mysqld stop查找残留进程 pgrep mysql

7、并 kill掉五、 在线添加节点1. 在config.ini 添加数据节点2. 停止管理节点ndb_mgm> <管理节点id> stop3. ndb_mgmd -f /var/lib/mysql-cluster/config.ini reload4. 在新节点上运行ndbd -initial5. 创建集群分组,分组内节点数与config.ini参数NoOfReplicas相关ndb_mgm> CREATE NODEGROUP <id>,<id>6. 重新分配cluster的数据SELECT TABLE_SCHEMA, TABLE_NAME FRO

8、M INFORMATION_SCHEMA.TABLES WHERE ENGINE ='NDBCLUSTER'ALTER ONLINE TABLE <table_name> REORGANIZE PARTITION;7. 分区信息查看select partition_name,table_rows from information_schema.PARTITIONS where table_name='?' and table_schema='?'六、 建表MySQL Cluster的表分为内存表和物理表:内存表在启动时,所有数据都加载

9、到内存中,查询速度非常快,NDB引擎会设置检查点,把内存数据适时同步到磁盘中,防止断电时数据丢失;磁盘表只把主键和索引加载到内存中,数据主要存放在磁盘上,查询速度稍慢。内存表的容量,受主机内存大小的限制,磁盘表的容量,受主机磁盘存储空间限制。1. 创建内存表CREATE TABLE <table name>(field) ENGINE=NDBCLUSTER / NDB数据引擎使用NDBCLUSTER / NDB2. 创建磁盘表步骤:1) 创建undo日志文件组CREATE LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_1.log' IN

10、ITIAL_SIZE 16M UNDO_BUFFER_SIZE 2M ENGINE NDBCLUSTER; 给日志组增加日志文件: ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_2.log' INITIAL_SIZE 12M ENGINE NDBCLUSTER;2) 创建表空间CREATE TABLESPACE ts_1 ADD DATAFILE 'data_1.dat' USE LOGFILE GROUP lg_1 INITIAL_SIZE 32M ENGINE NDBCLUSTER; 给表空间增加日志文件: ALTE

11、R TABLESPACE ts_1 ADD DATAFILE 'data_2.dat' INITIAL_SIZE 48M ENGINE NDBCLUSTER; -AUTOEXTEND_SIZE:自动扩展表空间容量,目前版本未支持3) 建表CREATE TABLE <table name>(field)TABLESPACE ts_1 STORAGE DISKENGINE=NDBCLUSTER / NDB4) 查看以上增加的日志文件和数据文件的信息保存在information_schema.FILES表里。查看表空间的使用情况SELECT TABLESPACE_NAME

12、, FILE_NAME, EXTENT_SIZE*TOTAL_EXTENTS/1024/1024 AS TOTAL_MB, EXTENT_SIZE*FREE_EXTENTS/1024/1024 AS FREE_MB, EXTRA FROM information_schema.FILES WHERE FILE_TYPE="DATAFILE"5) 删除顺序为:表数据文件表空间日志文件组DROP TABLE dt_1;ALTER TABLESPACE ts_1 DROP DATAFILE 'data_1.dat' ENGINE NDBCLUSTER;DROP T

13、ABLESPACE ts_1 ENGINE NDBCLUSTER;DROP LOGFILE GROUP lg_1 ENGINE NDBCLUSTER;七、 备份与恢复1. 备份集群数据执行备份后,在各数据节点下的mysql目录下,产生一份备份,包括数据,控制文件,日志三部分。ndb_mgm>start backup2. 恢复集群数据恢复时需要在各数据节点分别执行命令:ndb_restore -c <mgmd> -n <node_id> -m -b <backup_id> -r <backup_path>如:ndb_restore -n 1 -m -b 1 -r /var/lib/mysql/BACK/BACK-1/-mgmd 为管理节点的ip,可省略-node_id为数据节点ID,在mgm的客户端通过show查看- -m 在第一个数据节点上执行,它的作用恢复数据元,数据元的作用:所有数据库表的名称和定义.在其他节点,上就不需要此参数了.-backup_id 就是备份的次数.也就是你在此start backup上,提示的那个id,如果不知道,可以到保存此备份的目录下看。若出现报错:Failed to initialize consumers则需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论