当前位置: 首页 > news >正文

毕业设计音乐网站开发背景品牌推广软文案例

毕业设计音乐网站开发背景,品牌推广软文案例,做印章的网站,公司做网站需要注意什么目录 一、MHA 1、什么是MHA 2、MHA 的组成 3、MHA的特点 4、MHA的工作原理 二、有哪些数据库集群高可用方案 三、实操:一主两从部署MHA 1、完成主从复制 步骤一:完成所有MySQL的配置文件修改 步骤二:完成所有MySQL的主从授权&#x…

目录

一、MHA

1、什么是MHA

2、MHA 的组成

3、MHA的特点

4、MHA的工作原理

二、有哪些数据库集群高可用方案

三、实操:一主两从部署MHA

1、完成主从复制

步骤一:完成所有MySQL的配置文件修改

步骤二:完成所有MySQL的主从授权,以及mha的账号授权

步骤三:主查看master状态,从完成与主对接,启动从节点,查看从的状态,验证IO和SQL线程的状态是否为yes

步骤四:验证主从复制

步骤五:将从节点都改为只读状态

2、所有服务器配置MHA的node组件

步骤一:完成所有节点(三台mysql和manager)安装epel源和依赖环境

步骤二:完成所有服务器部署mha-node组件

3、在MHA manager服务器配置manager组件

步骤一:安装manager组件

4、完成所有所有服务器ssh免密登录

5、完成在 manager 节点上配置 MHA

步骤一:复制相关脚本到/usr/local/bin 目录

步骤二:使用master_ip_failover脚本来管理 VIP 和故障切换,修改该脚本

步骤三:创建 MHA 软件目录并拷贝配置文件,这里使用mysql_mha.conf配置文件来管理 mysql 节点服务器,#创建相关目录(所有节点)

步骤四:给主配置一个vip 

步骤五:完成ssh和集群的健康检查,最后启动mha 

6、故障切换实验

步骤一:先关闭主的mysqld服务

步骤二:查看故障切换有哪些内容

步骤三:修复master

重新启动旧master的mysqld服务,重新做主从

修改manager的配置文件


一、MHA

1、什么是MHA

MHA(master high availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。

MHA的出现是为了解决MySQL的单点故障,MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换过程中最大程度上保证数据的一致性,已达到真正意义上的高可用。

2、MHA 的组成

●MHA Node(数据节点)
MHA Node 运行在每台 MySQL 服务器上。(注意是每一台!!包含所有的MySQL节点和manager节点)

●MHA Manager(管理节点)
MHA Manager 可以单独部署在一台独立的机器上,管理多个 master-slave 集群;也可以部署在一台 slave 节点上。
MHA Manager 会定时探测集群中的 master 节点。当 master 出现故障时,它可以自动将最新数据的 slave 提升为新的 master, 然后将所有其他的 slave 重新指向新的 master。整个故障转移过程对应用程序完全透明。

3、MHA的特点

1.自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失;

2.使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他的slave服务器上,因此可以保证所有节点的数据一致性。

3.目前MHA支持一主多从架构,最少三台服务,一主两从。

4、MHA的工作原理

实际就是manager的工作过程

manager会周期性探测master的状态,一旦发现master故障以后,会根据默认,将目前收到最新数据的从节点指定为新的master,所有的其他从节点指向新的master,同时VIP从原来的主漂移到新的主。这些对客户端来说都是透明的

二、有哪些数据库集群高可用方案

有keepalived(单主)、MHA(单主)、MMM(单主)以及MySQL cluster(多主)

所有的高可用都是在主从复制的基础上进行。

keepalived可以完成主备切换,但是不能完成读写分离

MMM的工作模式:

支持双主故障切换和双主日常管理,MMM也是用perl语言开发,主要用来监控和管理MySQL的双主复制。虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个 Slave 的 read 负载均衡。

三、实操:一主两从部署MHA

1、完成主从复制

步骤一:完成所有MySQL的配置文件修改

 

server-id = 3
log-bin=mysql_bin
binlog_format=mixed
log-slave-updates=true
relay-log=relay-log-bin
relay-log-index=relay-slave-bin.indexserver-id = 3 ##所有服务器的server-id都不相同
log-bin=mysql_bin ##开启二进制日志
binlog_format=mixed ##设置二进制日志的格式为mixed
log-slave-updates=true ##slave 从 master 复制的数据会写入二进制日志文件里
relay-log=relay-log-bin ##中继日志开启
relay-log-index=relay-slave-bin.index ##中继日志的索引文件

步骤二:完成所有MySQL的主从授权,以及mha的账号授权

mysql> grant replication slave on *.* to 'myslave'@'192.168.20.%' identified by 'abc123';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> grant all on *.* to 'manager'@'192.168.20.%' identified by 'manager123';
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> grant all on *.* to 'manager'@'mysql1' identified by 'manager123';
Query OK, 0 rows affected, 2 warnings (0.00 sec)mysql> grant all on *.* to 'manager'@'mysql2' identified by 'manager123';
Query OK, 0 rows affected, 2 warnings (0.00 sec)mysql> grant all on *.* to 'manager'@'mysql3' identified by 'manager123';
Query OK, 0 rows affected, 2 warnings (0.00 sec)mysql> flush privileges;

步骤三:主查看master状态,从完成与主对接,启动从节点,查看从的状态,验证IO和SQL线程的状态是否为yes

show master status;

mysql> change master to master_host='192.168.20.15',master_user='myslave',master_port=3306,master_password='abc123',master_log_file='mysql_bin.000001',master_log_pos=1761;mysql> start slave;

mysql> show slave status\G;

步骤四:验证主从复制

步骤五:将从节点都改为只读状态

set global read_only=1;

2、所有服务器配置MHA的node组件

步骤一:完成所有节点(三台mysql和manager)安装epel源和依赖环境

yum install epel-release --nogpgcheck -yyum install -y perl-DBD-MySQL \
perl-Config-Tiny \
perl-Log-Dispatch \
perl-Parallel-ForkManager \
perl-ExtUtils-CBuilder \
perl-ExtUtils-MakeMaker \
perl-CPAN

步骤二:完成所有服务器部署mha-node组件

cd /opt
tar zxvf mha4mysql-node-0.57.tar.gz
cd mha4mysql-node-0.57
perl Makefile.PL
make && make install

3、在MHA manager服务器配置manager组件

步骤一:安装manager组件

cd /opt
tar zxvf mha4mysql-manager-0.57.tar.gz
cd mha4mysql-manager-0.57
perl Makefile.PL
make && make install

4、完成所有所有服务器ssh免密登录

ssh-keygen -t rsassh-copy-id 192.168.20.15
ssh-copy-id 192.168.20.16
ssh-copy-id 192.168.20.17
ssh-copy-id 192.168.20.7

5、完成在 manager 节点上配置 MHA

步骤一:复制相关脚本到/usr/local/bin 目录

cp -rp /opt/mha4mysql-manager-0.57/samples/scripts /usr/local/bin

步骤二:使用master_ip_failover脚本来管理 VIP 和故障切换,修改该脚本

cp /usr/local/bin/scripts/master_ip_failover /usr/local/bin

vim /usr/local/bin/master_ip_failover
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';use Getopt::Long;my ($command, $orig_master_host, $orig_master_ip,$ssh_user,$orig_master_port, $new_master_host, $new_master_ip,$new_master_port,$orig_master_ssh_port,$new_master_ssh_port,$new_master_user,$new_master_password
);# 这里定义的虚拟IP配置要注意,这个ip必须要与你自己的集群在同一个网段,否则无效
my $vip = '192.168.20.100/24';
my $key = '1';
# 这里的网卡名称 “ens33” 需要根据你机器的网卡名称进行修改
# 如果多台机器直接的网卡名称不统一,有两种方式,一个是改脚本,二是把网卡名称修改成统一
# 我这边实际情况是修改成统一的网卡名称
my $ssh_start_vip = "sudo /sbin/ifconfig ens33:$key $vip";
my $ssh_stop_vip = "sudo /sbin/ifconfig ens33:$key down";
my $ssh_Bcast_arp= "sudo /sbin/arping -I ens33 -c 3 -A $vip";GetOptions('command=s'          => \$command,'ssh_user=s'         => \$ssh_user,'orig_master_host=s' => \$orig_master_host,'orig_master_ip=s'   => \$orig_master_ip,'orig_master_port=i' => \$orig_master_port,'orig_master_ssh_port=i' => \$orig_master_ssh_port,'new_master_host=s'  => \$new_master_host,'new_master_ip=s'    => \$new_master_ip,'new_master_port=i'  => \$new_master_port,'new_master_ssh_port' => \$new_master_ssh_port,'new_master_user' => \$new_master_user,'new_master_password' => \$new_master_password);exit &main();sub main {$ssh_user = defined $ssh_user ? $ssh_user : 'root';print "\n\nIN SCRIPT TEST====$ssh_user|$ssh_stop_vip==$ssh_user|$ssh_start_vip===\n\n";if ( $command eq "stop" || $command eq "stopssh" ) {my $exit_code = 1;eval {print "Disabling the VIP on old master: $orig_master_host \n";&stop_vip();$exit_code = 0;};if ($@) {warn "Got Error: $@\n";exit $exit_code;}exit $exit_code;}elsif ( $command eq "start" ) {my $exit_code = 10;eval {print "Enabling the VIP - $vip on the new master - $new_master_host \n";&start_vip();&start_arp();$exit_code = 0;};if ($@) {warn $@;exit $exit_code;}exit $exit_code;}elsif ( $command eq "status" ) {print "Checking the Status of the script.. OK \n";exit 0;}else {&usage();exit 1;}
}sub start_vip() {`ssh $ssh_user\@$new_master_host \" $ssh_start_vip \"`;
}
sub stop_vip() {`ssh $ssh_user\@$orig_master_host \" $ssh_stop_vip \"`;
}sub start_arp() {`ssh $ssh_user\@$new_master_host \" $ssh_Bcast_arp \"`;
}
sub usage {print"Usage: master_ip_failover --command=start|stop|stopssh|status --ssh_user=user --orig_master_host=host --orig_master_ip=ip --orig_master_port=port --new_master_host=host --new_master_ip=ip --new_master_port=port\n";
}

步骤三:创建 MHA 软件目录并拷贝配置文件,这里使用mysql_mha.conf配置文件来管理 mysql 节点服务器,#创建相关目录(所有节点)

[root@localhost /opt]#mkdir -p /opt/mysql-mha/mha-node
[root@localhost /opt]#mkdir -p /opt/mysql-mha/mha

vim /opt/mysql-mha/mysql_mha.cnf
[server default]
manager_log=/opt/mysql-mha/manager.log
manager_workdir=/opt/mysql-mha/mha
master_binlog_dir=/usr/local/mysql/data
master_ip_failover_script=/usr/local/bin/master_ip_failover
master_ip_online_change_script=/usr/local/bin/master_ip_online_change
user=manager
password=manager123
ping_interval=1
port=3306
remote_workdir=/opt/mysql-mha/mha-node
repl_password=abc123
repl_user=myslave
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.20.16 -s 192.168.20.17
shutdown_script=""
ssh_user=root[server1]
hostname=192.168.20.15
port=3306[server2]
candidate_master=1
check_repl_delay=0
hostname=192.168.20.16
port=3306[server3]
hostname=192.168.20.17
port=3306

步骤四:给主配置一个vip 

[root@mysql1 /opt]#ifconfig ens33:1 192.168.20.100/24

步骤五:完成ssh和集群的健康检查,最后启动mha 

[root@localhost /usr/local/bin]#masterha_check_ssh -conf=/opt/mysql-mha/mysql_mha.cnf

[root@localhost /usr/local/bin]#masterha_check_repl -conf=/opt/mysql-mha/mysql_mha.cnf

masterha_check_ssh -conf=/opt/mysql-mha/mysql_mha.cnf ##ssh检查
masterha_check_repl -conf=/opt/mysql-mha/mysql_mha.cnf ##集群检查##在 manager 节点上启动 MHA
nohup masterha_manager \
--conf=/opt/mysql-mha/mysql_mha.cnf \
--remove_dead_master_conf \
--ignore_last_failover < /dev/null > /var/log/mha_manager.log 2>&1 &##查看 MHA 状态,可以看到当前的 master 是 mysql1 节点。
masterha_check_status --conf=/opt/mysql-mha/mysql_mha.cnfcat /opt/mysql-mha/manager.log | grep "current master"

6、故障切换实验

步骤一:先关闭主的mysqld服务

[root@mysql1 /opt]#systemctl stop mysqld

步骤二:查看故障切换有哪些内容

 

总结:
故障切换后,
1、MHA 进程会退出;
2、HMA 会自动修改 配置文件内容,将宕机的 mysql1 节点删除
3、VIP会漂移到新的master上
4、从节点的状态可以查看 指向新的master

步骤三:修复master

重新启动旧master的mysqld服务,重新做主从

ps:如果说master宕机以后有数据写入,那么还需要先完成数据一致再做主从!!!

[root@mysql1 /opt]#systemctl restart mysqld
[root@mysql1 /opt]#mysql -uroot -pabc123mysql> change master to master_host='192.168.20.16',master_user='myslave',master_password='abc123',master_log_file='mysql_bin.000001',master_log_pos=3087;mysql> start slave;mysql> show slave status\G;

针对数据不一致问题:需要先将主进行只读锁定,然后用mysqldump完成全量备份 给从以后 再从做一次全量备份恢复,最后当数据一致以后,再重新做主从复制 

修改manager的配置文件

[server default]
manager_log=/opt/mysql-mha/manager.log
manager_workdir=/opt/mysql-mha/mha
master_binlog_dir=/usr/local/mysql/data
master_ip_failover_script=/usr/local/bin/master_ip_failover
master_ip_online_change_script=/usr/local/bin/master_ip_online_change
user=manager
password=manager123
ping_interval=1
port=3306
remote_workdir=/opt/mysql-mha/mha-node
repl_password=abc123
repl_user=myslave
secondary_check_script=/usr/local/bin/masterha_secondary_check -s 192.168.20.15 -s 192.168.20.17
shutdown_script=""
ssh_user=root[server1]
hostname=192.168.20.15
port=3306[server2]
candidate_master=1
check_repl_delay=0
hostname=192.168.20.16
port=3306[server3]
hostname=192.168.20.17
port=3306

 


文章转载自:
http://dinncoearsplitting.ydfr.cn
http://dinnconeuritis.ydfr.cn
http://dinncohookey.ydfr.cn
http://dinncolazyboots.ydfr.cn
http://dinncoviaduct.ydfr.cn
http://dinncoindraught.ydfr.cn
http://dinncobargemaster.ydfr.cn
http://dinncoanubis.ydfr.cn
http://dinncocommercialese.ydfr.cn
http://dinncofencible.ydfr.cn
http://dinncofulness.ydfr.cn
http://dinncohussar.ydfr.cn
http://dinncoelectromeric.ydfr.cn
http://dinncoequiponderance.ydfr.cn
http://dinncoforever.ydfr.cn
http://dinncoengrave.ydfr.cn
http://dinncobinate.ydfr.cn
http://dinncolimonitic.ydfr.cn
http://dinncoebonize.ydfr.cn
http://dinncodistributor.ydfr.cn
http://dinncochauffeur.ydfr.cn
http://dinncokincardinshire.ydfr.cn
http://dinncounsymmetry.ydfr.cn
http://dinncowakeless.ydfr.cn
http://dinncofeederliner.ydfr.cn
http://dinncoupthrust.ydfr.cn
http://dinncobakshish.ydfr.cn
http://dinncocrossbones.ydfr.cn
http://dinncoremote.ydfr.cn
http://dinncodomsat.ydfr.cn
http://dinncomeanly.ydfr.cn
http://dinncoboite.ydfr.cn
http://dinncoschlockmeister.ydfr.cn
http://dinncokokura.ydfr.cn
http://dinncoerin.ydfr.cn
http://dinncoheterogenesis.ydfr.cn
http://dinncodoubting.ydfr.cn
http://dinncosedative.ydfr.cn
http://dinncorotundity.ydfr.cn
http://dinncojemimas.ydfr.cn
http://dinncobechuanaland.ydfr.cn
http://dinncocitify.ydfr.cn
http://dinnconewspaper.ydfr.cn
http://dinncoecstatically.ydfr.cn
http://dinncorococo.ydfr.cn
http://dinncotransitional.ydfr.cn
http://dinncouncompensated.ydfr.cn
http://dinncojpeg.ydfr.cn
http://dinncoreexchange.ydfr.cn
http://dinncouaw.ydfr.cn
http://dinncounspilled.ydfr.cn
http://dinncomultipacket.ydfr.cn
http://dinncoprosify.ydfr.cn
http://dinncounrestraint.ydfr.cn
http://dinncopctools.ydfr.cn
http://dinncodonau.ydfr.cn
http://dinncoprophecy.ydfr.cn
http://dinncoeelfare.ydfr.cn
http://dinncosulphite.ydfr.cn
http://dinncosociogenetic.ydfr.cn
http://dinncosolemnise.ydfr.cn
http://dinncogalvanic.ydfr.cn
http://dinncokumiss.ydfr.cn
http://dinncoassailant.ydfr.cn
http://dinncosonuvabitch.ydfr.cn
http://dinncosatanophobia.ydfr.cn
http://dinncosensory.ydfr.cn
http://dinncotl.ydfr.cn
http://dinncostead.ydfr.cn
http://dinncomahabharata.ydfr.cn
http://dinncocatomountain.ydfr.cn
http://dinncoadiantum.ydfr.cn
http://dinncodentilabial.ydfr.cn
http://dinncoheadframe.ydfr.cn
http://dinncoorbital.ydfr.cn
http://dinncoecheveria.ydfr.cn
http://dinncodisapprovingly.ydfr.cn
http://dinncoallegedly.ydfr.cn
http://dinncolattermath.ydfr.cn
http://dinncoidiomatic.ydfr.cn
http://dinncotosh.ydfr.cn
http://dinncounwarned.ydfr.cn
http://dinncotunable.ydfr.cn
http://dinncodemurrer.ydfr.cn
http://dinncolocational.ydfr.cn
http://dinncoembouchure.ydfr.cn
http://dinncofootmark.ydfr.cn
http://dinncomignon.ydfr.cn
http://dinncosnicket.ydfr.cn
http://dinncomortuary.ydfr.cn
http://dinncotrihedral.ydfr.cn
http://dinncoresay.ydfr.cn
http://dinncohabitacle.ydfr.cn
http://dinncoindispensably.ydfr.cn
http://dinnconiobite.ydfr.cn
http://dinncoratepayer.ydfr.cn
http://dinncosilastic.ydfr.cn
http://dinncoreconsignment.ydfr.cn
http://dinncomethodological.ydfr.cn
http://dinncochaffingly.ydfr.cn
http://www.dinnco.com/news/6517.html

相关文章:

  • 铜陵商城网站建设如何做百度搜索推广
  • iis7 网站无法显示该页面58网络推广
  • 做自媒体用到的网站浙江专业网站seo
  • 广告公司网站建设的定位济南新站seo外包
  • 怎么看出网站是dede做的网络营销推广外包平台
  • 专业做室内设计的网站有哪些长沙优化网站哪家公司好
  • 在国内做电商网站需要什么审核营销型网站方案
  • 烟台建网站公司自己做网站的流程
  • 楚雄网站开发cx189独立站seo是什么意思
  • 长沙做网站团队销售怎么做
  • 烟台做网站案例推广公众号
  • 制作网站域名需要多少钱每日英语新闻
  • 海南爱心扶贫网站是哪个公司做的网推获客平台
  • 360做网站和推广怎么样厦门百度关键词seo收费
  • php网站漂浮广告代码排名优化关键词公司
  • 自由型网站seo原创工具
  • 4399电脑版网页在线玩国外常用的seo站长工具
  • 网站建设 物流杭州seo整站优化
  • 淘宝店网站建设b站推广网站入口2023是什么
  • 网站建设服务费怎么写分录网址怎么推广
  • 沈阳做公司网站的公司郑州纯手工seo
  • 车公庙网站建设google chrome 网络浏览器
  • 企业做网站的注意什么问题网站源码建站
  • 简洁的bootstrap响应式运动鞋商城网站模板html整站下载深圳搜狗seo
  • 微网站建设高端网站定制企业宣传方式有哪些
  • 2018年做淘宝客网站还能挣钱吗6免费seo快速收录工具
  • 网站备案 照片外链购买交易平台
  • 株洲网站制作公司竞价排名的优缺点
  • 陕西网站建设软件定制开发
  • 东莞网络推广哪家公司好泰州seo公司