Mysql部署文档(Redhat)

Mysql部署文档(Redhat)
Mysql部署文档(Redhat)

MySQL部署文档

日期:2017-8-14

环境:Linux 2.6.32-504.el6.x86_64(RedHat)

数据库版本:mysql-5.7.19

说明安装mysql数据库需要root用户

1.登录到服务器创建mysql用户,执行命令:adduser mysql /passwd mysql 设置密码;

2.从MySQL官网下载安装包mysql-5.7.19-linux-glibc2.12-x86_64 将文件通过FTP上传至服务器目录:

解压安装包:tar -xvf mysql-5.7.19-linux-glibc2.12-x86_64 3.创建目录 /var/lib/mysql/data 用于存放mysql数据库初始化数据;

4.创建目录/var/lib/mysql/share/,讲安装包中

mysql-5.7.19-linux-glibc2.12-x86_64/share/englis/errmsg.sys 备份至 /var/lib/mysql/share/目录下:cp errmsg.sys

/var/lib/mysql/share/ ;再将该文件备份至/usr/share/mysql/目

录下;将

mysql-5.7.19-linux-glibc2.12-x86_64/support-files/mysql.ser ver 拷贝至 /etc/init.d/mysql中;

5.mysql-5.7.19-linux-glibc2.12-x86_64/bin目录下:

./mysqld_install_db --user=msql

--datadir=/var/lib/mysql/data

--basedir=/var/lib/mysql

初始化数据库;

然后执行:./mysqld 启动数据库;如启动中报错可参照附件解决;

6.如果上一步执行没有报错,说明数据库启动成功,可用以下命令查询数据库状态: /etc/init.d/mysql status

7.登录数据库:mysql -umysql(用户名) -pmysql(密码)

此时会报错因为数据库会校验ip和用户,此时需要修改/etc/https://www.360docs.net/doc/6e4473574.html,f 文件:在[mysqld] 后面追加 skip-host-cache

skip-name-resolve

skip-grant-tables

然后重启数据库:停止命令:/etc/init.d/mysql stop

启动命令:到软件目录下执行 ./mysqld

8.部署完成后需要修改用户密码,否则在之后的使用会出现连接失败的问题需要重启数据库才可以重新登录,所以需要修改数据库用户密码,执行命令如下:

Mysql -u root -p 密码

Mysql>use mysql

--修改密码

Mysql>update user set authentication_string=password(‘密码’) where user=‘root’

Mysql>flush privileges;

修改用户期限

Mysql>update user set password_expired=’N’where user=’root’;

Mysql>flush privileges;

Mysql>quit;

重启数据库,再次登录就正常了。

错误记录:

1.mysqld:table’mysql.plugin’dosen’t exist;

解决方案:修改https://www.360docs.net/doc/6e4473574.html,f文件,讲datadir的值替换至:

(1)/var/lib/mysql/data;

2.[ERROR] can’t find error-message file

‘/user/loacl/mysql/share/errmsg.sys’;

解决方案:创建该目录,讲

mysql-5.7.19-linux-glibc2.12-x86_64/share/englis/errmsg.sys 文件复制到该目录下;

3.ERROR 1045(28000):Access denied for user ‘’....

解决:这个问题是由于你的登录密码与库表的不一致造成的,此时需要在修改/etc/https://www.360docs.net/doc/6e4473574.html,f ,加上skip-grant-tables 跳过授权的表即可登录;

4.ERROR 1862(HY000):your password has expired...

解决:报这个错是由于修改密码造成的,提示密码过期此时需要修改user表的password_expired的值为‘N’即可;

5.ERROR 1130 host ip is not allowed to connect this MYSQl server

解决:mysql -u root -p

Mysql>use mysql

Mysq>update user set host=‘%’where user=’root’;

Mysql>flush privileges;

Mysql>quit;即可解决;

6.执行语句时报错:[err] 1055 -EXpression #1

解决:在/ect/https://www.360docs.net/doc/6e4473574.html,f 中加入:sql_mode=‘’;

内容是在查询窗口执行:select @@sql_mode; 的执行结果去掉

only_full_group_by;

7.执行语句报ERR1067,

解决:执行语句 select @@sql_mode;

只需要将结果只保留:

NO_ENGINE_SUBSTITUTION,STRAICT_TRANS_TABLES就可以了

8;修改SQL_MODE值:

命令行执行: set

@@global.sql_mode=’NO_ENGINE_SUBSTITUTION,STRAICT_TRANS_TA BLES’这样是删除数据库操作的校验,防止出错!

9.使用 /etc/init.d/mysql start 命令无法启动

解决:在https://www.360docs.net/doc/6e4473574.html,f中添加mysql安装目录 basedir=**/**;

10.设置mysql不区分表名大小写:修改配置文件https://www.360docs.net/doc/6e4473574.html,f,在[mysqld]下加入:lower_case_table_names=1,重启mysql即可;

MYSQL互为主从备份设置

1.修改配置文件https://www.360docs.net/doc/6e4473574.html,f,添加以下内容

log-bin=mysql-bin #开启二进制日志

server-id=1 #两台机器不相同即可

#binlog-ignore-db=mysql #设置不被记录的数据库

#replicate-ignore-db=mysql #不被同步的数据库

#replicate_ignore_table=test.abc #同步忽略的表

replicate_wild_ignore_table=mysql.% #同步忽略的表(增强版去除上面的一些bug)replicate_wild_ignore_table=test.abc

log-slave-updates

slave-skip-errors=all

relay_log=relaylog-bin #开启中继日志

relay_log_index=relaylog_bin_index

2.重启mysql

3.创建用户并给replication slave 权限

mysql> grant replication slave,reload,super on *.* to slave@”192.168.123.%” identified by “slave”;

4. 检查主服务器状态(DB1,DB2)

DB1

mysql> show master status;

DB2

mysql> show master status;

红框中要记住。

5. 配置从服务器(DB1,DB2)

这一步和上一步有很大关系,本文中mysql都是新搭建的所以DB1的master status 和DB2 的master status 都是一样的。配置从服务器需要根据上图红框中的数值配置。

DB1上配置

mysql> change master to

master_host=”192.168.123.252”,master_user=”slave”,master_password=”slave”,master_log_file=”mysql-bin.000001”,master_log_pos=98;

Query OK, 0 rows affected (0.13 sec)

上面的命令中mysql-bin.000001和98 都是DB2的Master status 谨记

DB2上配置

mysql> change master to

master_host=”192.168.123.251”,master_user=”slave”,master_password=”slave”,master_log_file=”mysql-bin.000001”,master_log_pos=98;

Query OK, 0 rows affected (0.13 sec)

上面的命令中mysql-bin.000001和98 都是DB1的Master status 谨记 ;

6. 开启mysql从服务并查看状态(DB1,DB2)

mysql> start slave;

Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G

*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.123.252 #DB2的Master为192.168.123.251 Master_User: slave

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000004

Read_Master_Log_Pos: 443

Relay_Log_File: relaylog-bin.000027

Relay_Log_Pos: 235

Relay_Master_Log_File: mysql-bin.000004

Slave_IO_Running: Yes #状态正常

Slave_SQL_Running: Yes #状态正常

Replicate_Do_DB:

Replicate_Ignore_DB:

Replicate_Do_Table:

Replicate_Ignore_Table:

Replicate_Wild_Do_Table:

Replicate_Wild_Ignore_Table: mysql.%,test.abc

Last_Errno: 0

Last_Error:

Skip_Counter: 0

Exec_Master_Log_Pos: 443

Relay_Log_Space: 235

Until_Condition: None

Until_Log_File:

Until_Log_Pos: 0

Master_SSL_Allowed: No

Master_SSL_CA_File:

Master_SSL_CA_Path:

Master_SSL_Cert:

Master_SSL_Cipher:

Master_SSL_Key:

Seconds_Behind_Master: 0

1 row in set (0.00 sec)

至此mysql互为主从的同步搭建完成。

WINDOWs版本安装问题

1.创建配置文件时,不要把my-default.in的内容复制过去,否则在之后启动会报错,内容如下:

[mysqld]

# These are commonly set, remove the # and set as required.

#basedir =D:\software\mysql-5.7.17-winx64

#datadir =D:\software\mysql-5.7.17-winx64\data

#port = 3306

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2.创建空文件夹data

3.在BIN目录下执行:mysqld --basedir= --datadir= --initialize-insecue /*初始化数据库*/

4.执行:mysqld --install

5.然后启动即可

6.首次空密码登录需要执行以下语句:

Mysql>use mysql

Mysql>update user set authentication_string=password(‘密码’) where user=‘root’

Mysql>flush privileges;

Mysql>update user set password_expired=’N’where user=’root’;

Mysql>flush privileges;

Mysq>update user set host=‘%’where user=’root’;

Mysql>flush privileges;

MySQL Cluster单机搭建集群环境

运行环境: centos6.1 Mysql版本: MySQL-cluster-gpl-7.2.6-linux2.6-x86_6 下载地 址:https://www.360docs.net/doc/6e4473574.html,/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.6-linux2. 6-x86_64.tar.gz 对于这第一个MySQL数据库的集群,它由1个单一的MySQL服务引擎(mysqlds)、两个数据节点(ndbd)和一个单一的管理节点(ndb_mgmd)共同组成,所有的节点都运行在同一台主机上。 为配置文件和数据文件创建必要的存储文件夹,分别要建立如下几个文件夹: ① /home/mysql/my_cluster ② /home/mysql/my_cluster/ndb_data ③ /home/mysql/my_cluster/mysqld_data ④ /home/mysql/my_cluster/mysqld_data/mysql ⑤ /home/mysql/my_cluster/mysqld_data/ndbinfo ⑥ /home/mysql/my_cluster/conf 具体安装步骤: 1. 添用加户与组mysql [plain]view plaincopy 1.shell> groupadd mysql 2.shell> useradd -r -d /home/mysql -g mysql mysql [plain]view plain copy 1.shell> groupadd mysql 2.shell> useradd -r -d /home/mysql -g mysql mysql 2. 切换到mysql用户权限下 [plain]view plaincopy 1.shell> su - mysql [plain]view plain copy 1.shell> su - mysql

mysql集群部署文档

3台机器搭建集群环境 1. 集群配置如下 (3台机器) 管理节点:192.168.6.134 数据节点1:192.168.6.135 数据节点2:192.168.6.136 sql节点1:192.168.6.135 sql节点2:192.168.6.136 我使用3台机器进行配置,其中两台机器上的数据节点与sql节点在一起 2. 管理节点安装(192.168.6.134) 安装 1.shell> groupadd mysql 2.shell> useradd mysql -g mysql 3.shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_6 4.tar.gz /usr/local/ 4.shell> cd /usr/local/ 5.shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/ 6.shell> mv mysql-cluster-gpl- 7.2.6-linux2.6-x86_64 mysql 7.shell> chown -R mysql:mysql mysql 8.shell> cd mysql 9.shell> scripts/mysql_install_db --user=mysql 配置管理节点 1.shell> mkdir /var/lib/mysql-cluster 2.shell> cd /var/lib/mysql-cluster vi config.ini 添加以下内容 1.[ndbd default] 2.NoOfReplicas=2 3.DataMemory=80M 4.IndexMemory=18M 5.[ndb_mgmd]

mysql集群架构说明与配置实例-详细过程

Mysql集群架构文档 MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个Cluster 中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。(注意,要想获得MySQL Cluster 的功能,必须安装mysql-server 和mysql-max RPM)。 目前能够运行MySQL Cluster 的操作系统有Linux、Mac OS X和Solaris(一些用户通报成功地在FreeBSD上运行了MySQL Cluster ,但MySQL AB公司尚未正式支持该特性)。 一、MySQL Cluster概述 MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。 MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。关于Cluster 中这些组件的关系,请参见下图:

所有的这些节点构成一个完成的MySQL集群体系。数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“N DB存储服务器”。 通过将MySQL Cluster 引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的Cluster 数据管理。 二.安装环境 1.Linux操作系统版本:CentonOS 4.7 2.Mysql数据库版本:mysql-max-5.0.24-linux-i686.tar.gz 共三台机器安装了CentonOS4.7版本,首先保证把系统中没有一个包带有mysql的,有的话

MySQL_Cluster集群配置方案

在为某证券公司设计其OA架构时,初期客户是30万用户在线;然而在项目实施中,客户又提出50万用户同时在线的需求,而且都有写的需求;这样初始的设计master-master-slave,读写分离满足不了客户的要求,所以我们打算采用Mysql Cluster方案;MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个Cluster中运行多个MySQL服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。 一、MySQL Cluster概述 MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。 MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。 所有的这些节点构成一个完成的MySQL集群体系。数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“NDB存储服务器”。 通过将MySQL Cluster 引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的 Cluster 数据管理。 二、MySQL Cluster 基本概念 “NDB” 是一种“内存中”的存储引擎,它具有可用性高和数据一致性好的特点。 MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。 目前,MySQL Cluster的 Cluster部分可独立于MySQL服务器进行配置。在MySQL Cluster中, Cluster的每个部分被视为1个节点。 管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令 “ndb_mgmd”启动的。 数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就

MYSQL集群搭建指引文档

在PCSERVER上安装MARIADB。 一、先检查主机的环境 如果主机已经安装了MYSQL的早期版本,并且有MYSQL实例正在主机上运行,要先行清理早期的版本,具体步骤如下: 1、优雅地停掉当前正在运行的MYSQL服务。 2、卸载MYSQL早期版本及其组件 rpm -qa|grep -i mysql #查看已经安装的mysql相关包 rpm -ev package_name #package_name包名比如:mysql-server-5.0.51b-1.el5 二、用YUM安装MARIADB 具体步骤如下: 1、cd /etc/yum.repos.d 2、vi MariaDB.repo然后粘上官网上的内容(用CENTOS操作系统举例) Here is your custom MariaDB YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar). See "Installing MariaDB with yum" for detailed information. 3、执行yum -y install MariaDB-client MariaDB-server MariaDB-devel 4、如果发现用YUM装时,代理服务器的网速下载太慢了导致超时然后报错退出,解决方案如下: A自己用个人电脑到官网下载列表中的RPM文件,

Mysql-cluster安装配置

Mysql-cluster 7.2.5的安装配置 OS:Ubuntu Data1 10.0.0.102 数据节点,SQL节点 Data2 10.0.0.103 数据节点,SQL节点 Ndb 10.0.0.104 管理节点 1、下载解压到/usr/local/mysql tar -zxvf mysql-cluster-gpl-7.2.5-linux2.6-x86_64.tar.gz mv mysql-cluster-gpl-7.2.5-linux2.6-x86_64 /usr/local/mysql 2、创建mysql用户 useradd mysql chown -R mysql:mysql /usr/local/mysql/ 3、安装支持库 sudo apt-get install libaio1 4、修改/etc/profile以方便使用 PATH=$PATH:/usr/local/mysql/bin export PATH 5、安装mysql cd /usr/local/mysql/scripts ./mysql_install_db–basedir=/usr/local/mysql/–datadir=/usr/local/mysql/data/ --user=mysql 6、配置管理节点ndb 拷贝/usr/local/mysql/bin/ndb_mgm,ndb_mgmd两个文件到/usr/local/bin cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin mkdir /var/lib/mysql-cluster vim /var/lib/mysql-cluster/config.ini [ndbd default] NoOfReplicas=1 #每个数据节点的镜像数量 DataMemory=100M #每个数据节点中给数据分配的内存 IndexMemory=10M #每个数据节点中给索引分配的内存 [ndb_mgmd] #配置管理节点 NodeId=1 hostname=10.0.0.104 datadir=/var/lib/mysql-cluster/ #管理节点数据(日志)目录 [ndbd] #配置数据节点 NodeId=2 hostname=10.0.0.102 datadir=/usr/local/mysql/data #数据节点目录(数据存储位置)

Mariadb-galera集群配置

MariaDB作为Mysql的一个分支,在开源项目中已经广泛使用,例如大热的openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必不可少的。 MariaDB Galera Cluster 介绍 MariaDB集群是MariaDB同步多主机集群。它仅支持XtraDB/ InnoDB存储引擎(虽然有对MyISAM实验支持 - 看wsrep_replicate_myisam系统变量)。 主要功能: ●同步复制 ●真正的multi-master,即所有节点可以同时读写数据库 ●自动的节点成员控制,失效节点自动被清除 ●新节点加入数据自动复制 ●真正的并行复制,行级 ●用户可以直接连接集群,使用感受上与MySQL完全一致 优势: ●因为是多主,所以不存在Slavelag(延迟) ●不存在丢失事务的情况 ●同时具有读和写的扩展能力 ●更小的客户端延迟 ●节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不 同的 技术: Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。 Galera插件保证集群同步数据,保持数据的一致性,靠的就是可认证的复制,工作原理如下图: 当客户端发出一个commit的指令,在事务被提交之前,所有对数据库的更改都会被write-set收集起来,并且将 write-set 纪录的内容发送给其他节点。 write-set 将在每个节点进行认证测试,测试结果决定着节点是否应用write-set更改数据。如果认证测试失败,节点将丢弃 write-set ;如果认证测试成功,则事务提交。

mysql集群

1、下载完成MariaDB-Galera-server galera MariaDB-client安装包 配置yum源 vim /etc/yum.repos.d/mariadb.repo [mariadb] name = MariaDB enable=1 priority=3 baseurl = https://www.360docs.net/doc/6e4473574.html,/5.5.33a/centos6-amd64/ gpgkey=https://https://www.360docs.net/doc/6e4473574.html,/RPM-GPG-KEY-MariaDB gpgcheck=1 安装yum -y install MariaDB-Galera-server galera MariaDB-client 2、编辑每台机器的hosts文件,添加如下内容 [root@client137 ~]# vim /etc/hosts 2.192.168.1.137 https://www.360docs.net/doc/6e4473574.html, client137 3.192.168.1.138 https://www.360docs.net/doc/6e4473574.html, client138 4.192.168.1.139 https://www.360docs.net/doc/6e4473574.html, client139 # 启动测试一下 6.[root@client137 ~]# /etc/init.d/mysql start 7.Starting MySQL.... SUCCESS! 8.[root@client137 ~]# chkconfig mysql on 设置MariaDB的root密码,并做安全加固 01.[root@client137 ~]# /usr/bin/mysql_secure_installation 02.[root@client137 ~]# /usr/bin/mysql_secure_installation 03.# 登陆数据库,授权用于集群同步的用户和密码 04.[root@client137 ~]# mysql -uroot -pkongzhong 05.mysql> GRANT USAGE ON *.* to sst@'%' IDENTIFIED BY 'sstpass123'; 06.mysql> GRANT ALL PRIVILEGES on *.* to sst@'%'; 07.mysql> FLUSH PRIVILEGES; 08.mysql> quit 09.# 创建并配置https://www.360docs.net/doc/6e4473574.html,f文件 10.[root@client137 ~]# cp /usr/share/mysql/https://www.360docs.net/doc/6e4473574.html,f /etc/https://www.360docs.net/doc/6e4473574.html,f.d/ 11.[root@client137 ~]# vim /etc/https://www.360docs.net/doc/6e4473574.html,f.d/https://www.360docs.net/doc/6e4473574.html,f 12.# 只需要修改如下4行:

MySQL双机热备+集群服务

MYSQL双机热备+LVS负载均衡集群实现 四台服务器均采用Asianux-3sp3 Linux操作系统!~ 1.MYSQL双机热备配置(主主模式) (1)配置mysql01服务器IP地址为172.16.1.101 (2)配置mysql02服务器IP地址为172.16.1.102 (3)在两台mysql服务器上安装MYSQL服务. (4)使用service mysqld start 启动mysql服务 (5)使用mysqladmin –u 账号password 密码来创建管理账号 (6)使用mysql –u 账号–p 回车输入密码登入MySQL

(7)在mysql>状态下使用grant all on *.* to 账号@对端mysql2服务器的ip地址identified by ‘密码’;创建双机热备所使用的mysql账号 (8)使用exit命令退出mysql (9)使用命令vi /etc/https://www.360docs.net/doc/6e4473574.html,f 编辑/etc/https://www.360docs.net/doc/6e4473574.html,f 在文件最上方添加如下信息: server-id=1 mysql的id 两台mysql服务器一个为1一个为2 log-bin=mysqlback 指定日志的名字 master-host=172.16.1.102 对端mysql的ip地址 master-user=hnspi 对端mysql设置的用于同步的账号,见(6) master-password 对端账号的密码 master-port=3306 指定数据库使用的端口号 保存退出 (10)使用命令service mysqld restart重启mysql服务 (11)使用mysql –u 管理账号–p 回车输入密码登入mysql (12)Mysql>状态下输入slave start ;启动slave(同步数据库)功能

mysql数据库集群解决方案

MYSQL数据库集群 解 决 方 案

目录 1、环境准备 (1) 2、具体的实验步骤 (4) 2.1、修改群集中各节点的网络参数 (4) 2.2、同步群集中各节点的时间 (6) 2.3、在各个节点上面产生密钥实现无密码的通讯 (7) 2.4、在各个节点上面配置好yum客户端 (8) 2.5、将下载好的rpm包上传到linux上的各个节点 (11) 2.6、在各节点上面安装所有的rpm包 (15) 2.7、在各节点上增加一个drbd设备(sdb1) (16) 2.8、配置drbd (19) 2.9、mysql的安装和配置 (26) 2.10、corosync+pacemaker的安装和配置 (32) 2.11、对各个节点进行相应的配置 (33) 2.12、配置群集的工作属性 (40) 2.13、定义集群服务及资源(node1) (41)

1、环境准备 实验环境:redhat enterprise 5.4 内核版本号:2.6.18-164.el5 1:Yum 服务器的构建 2:各个节点之间的时间的一致性(hwclock –s 或者搭建ntp服务器) 3:被定义为群集的资源都不可以在本地主机上进行启动,他们要被crm来进行管理。 4:由于dbrd,corosync,pacemaker等各群集的服务都需要通过主机名来进行解析,所以我们的主机的名字一定要能够被正确的解析。(hosts文件)

5:本实验要用到的软件包。 //*************由于drbd内核模块代码只在linux内核2.6.3.33以后的版本中才有,所以我们要同时安装内核模块和管理工具 *********// drbd83-8.3.8-1.el5.centos.i386.rpm drbd的管理包 kmod-drbd83-8.3.8-1.el5.centos.i686.rpm drbd的内核模块 //*************由于drbd内核模块代码只在linux内核2.6.3.33以后的版本中才有,所以我们要同时安装内核模块和管理工具 *********// cluster-glue-1.0.6-1.6.el5.i386.rpm 为了在群集中增加对更多节点的支持 cluster-glue-libs-1.0.6-1.6.el5.i386.rpm corosync-1.2.7-1.1.el5.i386.rpm corosync的主配置文件corosynclib-1.2.7-1.1.el5.i386.rpm corosync的库文件heartbeat-3.0.3-2.3.el5.i386.rpm 我们的heartbeat在这里是做四层的资源代理用的 heartbeat-libs-3.0.3-2.3.el5.i386.rpm heartbeat的库文件ldirectord-1.0.1-1.el5.i386.rpm 在高可用性群集中实验对后面realserver的探测 libesmtp-1.0.4-5.el5.i386.rpm openais-1.1.3-1.6.el5.i386.rpm做丰富pacemake的内容使用openaislib-1.1.3-1.6.el5.i386.rpm openais 的库文件

mysql集群总结

MySql Cluster集群分析以及配置: mysql cluster概念: mysql cluster是一个以独特的无共享提醒架构和标准算起来借口构建的高可用数据库产品。系统由一系列的同学进程,或是分布于各机器上的节点构成,哪怕在服务器出现故障或是网络故障时,都可以提供一个持续可用的系统。mysql cluster 使用专有的存储引擎来存取数据,这套引擎由一组数据节点构成,可以通过mysql cluster用标准sql来访问或是通过NDB API进行实时的访问。NDB API是mysql cluster使用的面向对象的应用程序接口,它实现了索引,扫描,事务,事件处理。NDB事务是遵循ACID准则的。集群正是通过这种方式提供了将多个操作组成一组,要么全部执行成功(提交),要么作为一个整体失败(回滚)。 MySQL cluster群集分为三种节点:管理节点,数据节点和SQL节点。 管理节点:主要用于管理各个节点,能够通过命令对某个节点进行重启、关闭、启动等操作。也能够监视全部节点的工作状态。 数据节点:主要是对数据的存储,不提供其他的服务。 SQL节点:主要是对外提供SQL功能,类似一台普通的 MySQL Server。 1、准备工作 a、系统环境为:Windows Xp系统 b、mysql版本为:MySQL Server 5.5 c、mysql cluster版本为: mysql-cluster-gpl-noinstall-7.1.10-win32.zip d、计算机3台

(注)截至到2011年3月23日最新版本,官方网站有下载 下载地址:https://www.360docs.net/doc/6e4473574.html,/downloads/cluster/ 2、安装软件 a、解压mysql-cluster-gpl-noinstall-7.1.10-win32.zip包 b、Management node的安装配置。 Management node一定要安装在C盘下,并且是以下的目录(这是在运行 此节点时报错,说找不到相对应的目录)。在IP为192.168.18.8的机子上 生成c:/mysql/bin、C:/mysql/mysql-cluster(第一次启动后在这个文件 夹会生成类似ndb_1_config.bin.1的文件,好像是为了以后启动加载的配 置)和c:/mysql/bin/cluster-logs目录,在下载解压的文件目录mysql /bin中将ndb_mgmd.exe和ndb_mgm.exe复制到192.168.18.8的 c:/mysql /bin目录下。在192.168.18.8的c:/mysql/bin下生成两个文件,my.ini 和 config.ini,my.ini的内容为: [mysql_cluster] # Options for management node process config-file=C:/mysql/bin/config.ini config.ini的内容: [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT]

在CENTOS中搭建mysql 集群

在CENTOS中搭建mysql 集群 1,资源分配 管理节点:Management (MGMD) node 10.10.16.185 SQL节点1:MySQL server (SQL) node 10.10.16.181 SQL节点2:MySQL server (SQL) node 10.10.16.182 数据节点1:Data (NDBD) node "A" 10.10.16.181 数据节点2:Data (NDBD) node "B" 10.10.16.182 安装linux后,关闭防火墙,selinux iptables –F service iptables save setenforce 0 2,安装Management、Sql node、Data node 重复以下步骤: [root@www local]# tar -zxvf mysql-cluster-gpl-7.1.3-linux-i686-glibc23.tar.gz [root@www local]# mv mysql-cluster-gpl-7.1.3-linux-i686-glibc23 /usr/local/mysql [root@www local]# groupadd mysql [root@www local]# useradd -g mysql mysql [root@www local]# chown -R mysql.mysql mysql [root@www.local]# /usr/local/mysql/scripts/mysql_install_db --user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/ [root@www mysql]# cp support-files/mysql.server /etc/rc.d/init.d/ [root@www mysql]# chmod +x /etc/rc.d/init.d/mysql.server [root@www mysql]# chkconfig --add mysql.server 3,配置Management节点: [root@www mysql]# mkdir /usr/local/mysql-cluster [root@www mysql]# vi /usr/localmysql-cluster/config.ini添加如下内容: [ndbd default] NoOfReplicas=2 [ndb_mgmd] hostname=10.10.16.182 datadir=/usr/local/mysql-cluster [ndbd] hostname=10.10.16.182 datadir=/usr/local/mysql/data [ndbd]

MySQL-集群-中文版

MySQL高可用解决方案  MySQL高可用解决方案一览  MySQL白皮书 2010年11月

目录  1.简介 (4) 2.MySQL提供的高可用解决方案 (4) MySQL复制 (4) 使用MySQL主从复制进行灾难恢复 (7) MySQL集群 (7) MySQL集群和复制 (11) 3.MySQL第三方合作伙伴提供的高可用解决方案 (12) Linux Heartbeat和MySQL复制 (12) Linux Heartbeat,块复制和MySQL (14) 结合MySQL复制的负载均衡 (16) 使用共享存储的MySQL 和集群代理 (17) 高可用/性能网络–Dolphin SCI互连适配器 (19) 操作系统集群解决方案 (20) 高可用中间件- Continuent m/Cluster (20) 高可用中间件- High-Availability RSF-1 (20) 实施高可用解决方案 (21) MySQL专业服务 (22) MySQL认证合作方和产品 (23) MySQL培训 (23) MySQL企业版 (24) 为什么是MySQL (24) 扩展性和灵活性 (24) 高性能 (24) 高可用 (25) 强大的事务支持 (25) Web和数据仓库能力 (25) 强大的数据保护 (25) 全面的应用开发 (26) 管理方便 (26)

开源自由和24*7支持 (26) 最低的总体拥有成本 (27) 总结 (27) 资源 (27)

1.简介 在现今商业世界里,信息及其访问的畅通性,构成的不仅仅是基础架构,通常也是一些公司的预算模型。因此,对于或大或小的商业应用,维持信息的可用性和可访问性变得越来越重要。一直以来,高可用性对于关键性的商业系统来说都是非常重要的。比如,应用系统,数据库,存储网络等。但是,关键性低一些的系统在低成本,及市面已有的高可用性方案上有更自己的优势。    对这些信息系统的需求不仅体现在确保重要数据的高可用性,也要确保能够有效的分享这些资源和现有计算机架构。一个高可用方案可以利用企业现有技术架构提供最大数据量及应用可用性。这些技术架构包含不同的操作系统,应用,硬件组成,并且可以覆盖多个地理位置。更常见的情况是,许多关键型应用和信息系统的后面,都会有一个数据库。在“数据库高可用指南”白皮书系列中,我们会介绍高可用架构和概念。文中同样也会介绍在选择高可用数据库方案时,需要考虑哪些因素,包含MySQL复制和MySQL集群。我们还会介绍MySQL专业服务和MySQL认证的企业级合作伙伴和产品。  2.MySQL提供的高可能解决方案  在选择一个高可用方案时,MySQL提供了众多的选择。包括MySQL复制,MySQL集群,免费和开源的解决方案,当然,还有来自我们认证合作伙伴的产品。在本节中,我们将关注来自MySQL的高可用解决方案。  MySQL复?§ MySQL本身支持单向,异步复制。MySQL复制以一台服务器为主机,其它一个或多个服务器为从机。恰恰与MySQL集群相反,集群是同步复制。    异步数据复制意味着数据从一个机器拷贝到另一个机器时,存在一定的延迟。通常,这种延迟是由网络带宽,可用资源,以及管理员预先设定的时间间隔所决定。但是,只要正确配置和调整,复制在很多应用中可以认为是即时的。同步复制意味着数据可以在同一时刻向一台或是多台机器提交,通常叫做”双步提交”。    标准MySQL复制,主服务器将更新写到二进制日志文件并且维护一个索引文件以保存日志的更新轨迹。二进制日志里保存的更新记录将会被发送到从机。当从机连接至主机,他会从日志里读取从最后一次成功更新的位置。然后会执行从那个时间点之后的所有更新, 完了就一直处于等待状态。

MySql数据库双机集群

MySql数据库双机集群 1、目的 为了实现MySQL两台主机之间的双机热备,并且在任意一台数据节点机器出现故障时,不需要人工干涉,整个集群仍然可以提供服务。 下面介绍下mysql的集群基本概念: MySQL Cluster 是MySQL适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个Cluster中运行多个MySQL 服务器。在MyQL 5.0及以上的二进制版本中、以及与最新的Linux版本兼容的RPM中提供了该存储引擎。 一、MySQL Cluster概述 MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。 MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。 所有的这些节点构成一个完成的MySQL集群体系。数据保存在“NDB存储服务器”的存储引擎中,表(结构)则保存在“MySQL服务器”中。应用程序通过“MySQL服务器”访问这些数据表,集群管理服务器通过管理工具(ndb_mgmd)来管理“NDB存储服务器”。 通过将MySQL Cluster 引入开放源码世界,MySQL为所有需要它的人员提供了具有高可用性、高性能和可缩放性的 Cluster 数据管理。 二、MySQL Cluster 基本概念 “NDB” 是一种“内存中”的存储引擎,它具有可用性高和数据一致性好的特点。 MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。 目前,MySQL Cluster的 Cluster部分可独立于MySQL服务器进行配置。在MySQL Cluster中, Cluster的每个部分被视为1个节点。 管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。 数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。 SQL节点:这是用来访问 Cluster数据的节点。对于MySQL Cluster,

MySQL集群7_4_7在Centos7部署

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

2.硬件要求 1.管理节点 对硬件要求较低2.数据节点 大内存,多核CPU

3.SQL节点 多核CPU 二、环境及版本 操作系统:Centos 7 MySQL Cluster RPM版本:7.4.7 下载地址:https://www.360docs.net/doc/6e4473574.html,/downloads/cluster/ 三、安装和配置 1.卸载MySQL库 rpm -e postfix-2:2.10.1-6.el7.x86_64 rpm -e mariadb-libs-5.5.41-2.el7_0.x86_64 2.安装perl-Data-Dumper rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm 3.运行安装 1)创建文件目录 存储节点:mkdir /var/lib/mysql/data chmod -R 1777 /var/lib/mysql 管理节点:mkdir /var/lib/mysql-cluster (SQL节点:可不用) chmod -R 1777 /var/lib/mysql-cluster 2)执行安装 rpm -ivh MySQL-Cluster-server-gpl-7.4.7-1.el6.x86_64.rpm rpm -ivh MySQL-Cluster-client-gpl-7.4.7-1.el6.x86_64.rpm 4.配置文件 1)/var/lib/mysql-cluster/config.ini (仅管理节点需要)

mysql集群安装及配置

一.Mysql集群安装 一.Rpm包准备 从https://www.360docs.net/doc/6e4473574.html,/downloads下面找到cluster并下载相应的5个安装包。MySQL-Cluster-gpl-client-*.rpm MySQL-Cluster-gpl-management-*.rpm MySQL-Cluster-gpl-server-*.rpm MySQL-Cluster-gpl-storag-*.rpm MySQL-Cluster-gpl-tools-*.rpm 二.管理节点安装 一.安装管理包 Rpm –ivh MySQL-Cluster-gpl-management-*.rpm Rpm –ivh MySQL-Cluster-gpl-tools-*.rpm 二.编辑配置文件 Vi /etc/lib/mysql-cluster/config.ini 【我用的最简化版本】 [ndbd default] NoOfReplicas=2 DataMemory=80M IndexMemory=18M [tcp default] SendBufferMemory=2M ReceiveBufferMemory=2M [NDB_MGMD DEFAULT] PortNumber=1186 Datadir=/var/lib/mysql-cluster [ndb_mgmd] Hostname= 172.18.40.249 [ndbd]

Hostname=172.18.40.149 datadir=/var/lib/mysql/data [ndbd] HostName=172.18.40.242 datadir=/var/lib/mysql/data [mysqld] HostName=172.18.40.149 [mysqld] HostName=172.18.40.242 三.启动管理节点 Ndb_mgmd –f /var/lib/mysql-cluster/config.ini 三.数据节点安装 一.安装存储包 Rpm –ivh MySQL-Cluster-gpl-storag-*.rpm 二.编辑配置文件 Vi /etc/https://www.360docs.net/doc/6e4473574.html,f [mysqld] #配置连接管理主机Max_connections=100 Slow_query_log/var/mysql/slow_query.log Long_query_time=1 Datadir=/var/lib/mysql/data Ndbcluster Ndb-connectstring=172.18.40.249 [mysql_cluster] Ndb-connectstring=172.18.40.249

MySQL集群环境搭建

MySQL集群环境搭建

1 MySQL集群简介 1.1 什么是MySQL集群 MySQL集群是一个无共享的(shared-nothing)、分布式节点架构的存储方案,其目的是提供容错性和高性能。 数据更新使用读已提交隔离级别(read-committedisolation)来保证所有节点数据的一致性,使用两阶段提交机制(two-phasedcommit)保证所有节点都有相同的数据(如果任何一个写操作失败,则更新失败)。 无共享的对等节点使得某台服务器上的更新操作在其他服务器上立即可见。传播更新使用一种复杂的通信机制,这一机制专用来提供跨网络的高吞吐量。 通过多个MySQL服务器分配负载,从而最大程序地达到高性能,通过在不同位置存储数据保证高可用性和冗余。 了解更多: https://www.360docs.net/doc/6e4473574.html,/why-mysql/white-papers/guide-to-optimizing-performance-of-the-mysql-cluster/ 1.2 集群MySQL中名称概念 1)Sql 结点(SQL node—下图对应为mysqld):分布式数据库。包括自身数据和查询 中心结点数据 2)数据结点(Data node – ndbd):集群共享数据(内存中) 3)管理服务器(Management Server –ndb_mgmd):集群管理SQL node,Data node 详情见下图:

1.3 环境配置 1)至少2台Linux服务器,后面的例子是3台Linux服务器 A:192.168.2.128 Management Server B:192.168.2.129 Data node、SQL node C:192.168.2.24 Data node、SQL node 如果只有2台的话,那么其中一台机器就要多一个角色:Management Server 2)MySQL集群版本安装程序,分32位和64位版本,最新版本请在 https://www.360docs.net/doc/6e4473574.html,/downloads/里面下载

MySQL分布式集群搭建

MySQL分布式集群搭建 1准备集群搭建环境 使用6台虚拟机来搭建MYSQL集群,相应的实验环境与对应的MYSQL节 点之间的对应关系如下图所示: 节点名称节点IP节点内存节点硬盘大小节Ubun tu-1192.168.1.26768M20G3( Ubun tu-2192.168.1.27768M10G3( Ubun tu-3192.168.1.28768M10G3( Ubun tu-4192.168.1.29768M10G3( Ubun tu-5192.168.1.31768M10G3( Ubun tu-6192.168.1.32768M10G3(管理节点(MGM ):这类节点的作用是管理MySQLCIuster内的其他节点,如提供配置数据,并停止节点,运行备份等。由于这类节点负责管理其他节点的配置,应该在启动其他节点之前启动这类节点。MGM节点是用命令“ ndb_mg md ”启动的; 数据节点(NDB ):这类节点用于保存Cluster的数据,数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点,没有必要设定过多的副本,在NDB中数据会尽量的保存在内存中。数据节点使用命令“ ndb ”启动的; SQL节点:这是用来访问Cluster数据的节点,对于MySQL Cluster,客户端节点 是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点 2 准备安装包 使用命令“ mysqld-ndbcluster ”启动的;

在官网上下载mysql 的安装包: mysql-cluster-gpl-7.4.11-linux-glibc2.5-x 86_64.tar.gz ,并进行解压。 3 集群搭建流程 1 将上述安装包解压出来的文件都移到/usr/local/mysql 下; 2 运行script 目录下的mysql-install-db.sh 脚本,运行命令为./mysql-ins tall-db.sh --user=root--basedir =/usr/local/mysql --datadir=/usr/local /mysql ;注意其中用户为root 的名称需要跟配置文件https://www.360docs.net/doc/6e4473574.html,f 中的相同; 在管理节点,数据节点,SQL 节点上都执行上述安装命令,从而完成对mys ql 的安装; 4 集群配置与启动 1 在管理节点上需要完成对于集群整体的配置配置:在/var/lib/mysql-clust er/config.ini 中实现如下的配置信息:

相关文档
最新文档