MHA高可用MySQL搭建+MySQL半同步复制+常见异常处理
2018-02-01 15:05
1121 查看
部署环境:
相关链接:
2:下载MHA包
通过链接:https://downloads.mariadb.com/MHA/
下载版本 0.56.
[b]安装MHA Manger依赖的perl模块:[/b]
通过执行: yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
请参考如下安装记录流程.
4:在MySQL服务器节点上安装MHA-Node包
yum local install --nogpgcheck mha4mysql-node-0.56-0.el6.noarch.rpm
安装完成!
比如:
略..
略..
完!
操作系统 | CentOS 7.2 |
MySQL版本 | 5.6.25 mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz |
MHA版本 | mha4mysql-manager-0.56-0.el6.noarch.rpm mha4mysql-node-0.56-0.el6.noarch.rpm |
EPEL | epel-release-7-6.noarch.rpm |
1:MHA介绍
MHA组件:
2:下载MHA包
通过链接:https://downloads.mariadb.com/MHA/ 下载版本 0.56.
3:下载EPEL扩展包
通过链接:https://centos.pkgs.org/7/centos-extras-x86_64/epel-release-7-6.noarch.rpm.html4:在监控节点上安装MHA-Manager包
(必须先安装Node包,再安装Manager包,依赖问题)[b]安装MHA Manger依赖的perl模块:[/b]
通过执行: yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes
请参考如下安装记录流程.
[root@i-f6wk8ncx software]# uname -a Linux i-f6wk8ncx 3.10.0-229.4.2.el7.x86_64 #1 SMP Wed May 13 10:06:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux [root@i-f6wk8ncx software]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes Loaded plugins: fastestmirror Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 percona-release-noarch | 2.4 kB 00:00:00 percona-release-x86_64 | 2.9 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/5): base/7/x86_64/group_gz | 156 kB 00:00:00 (2/5): extras/7/x86_64/primary_db | 101 kB 00:00:01 (3/5): updates/7/x86_64/primary_db | 2.8 MB 00:00:05 (4/5): base/7/x86_64/primary_db | 5.7 MB 00:00:08 (5/5): percona-release-x86_64/7/x86_64/primary_db | 618 kB 00:00:19 Determining fastest mirrors * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Package perl-DBD-MySQL-4.023-5.el7.x86_64 already installed and latest version No package perl-Log-Dispatch available. No package perl-Parallel-ForkManager available. Package 4:perl-Time-HiRes-1.9725-3.el7.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package perl-Config-Tiny.noarch 0:2.14-7.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Installing: perl-Config-Tiny noarch 2.14-7.el7 base 25 k Transaction Summary ====================================================================================================================================================================================== Install 1 Package Total download size: 25 k Installed size: 39 k Is this ok [y/d/N]: y Downloading packages: perl-Config-Tiny-2.14-7.el7.noarch.rpm | 25 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-Config-Tiny-2.14-7.el7.noarch 1/1 Verifying : perl-Config-Tiny-2.14-7.el7.noarch 1/1 Installed: perl-Config-Tiny.noarch 0:2.14-7.el7 Complete! [root@i-f6wk8ncx software]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Package perl-DBD-MySQL-4.023-5.el7.x86_64 already installed and latest version Package perl-Config-Tiny-2.14-7.el7.noarch already installed and latest version No package perl-Log-Dispatch available. No package perl-Parallel-ForkManager available. Package 4:perl-Time-HiRes-1.9725-3.el7.x86_64 already installed and latest version Nothing to do [root@i-f6wk8ncx software]# |
遇到缺少包的问题,那么继续安装补充包EPEL:
[root@i-f6wk8ncx software]# yum localinstall --nogpgcheck epel-release-7-6.noarch.rpm Loaded plugins: fastestmirror Examining epel-release-7-6.noarch.rpm: epel-release-7-6.noarch Marking epel-release-7-6.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-6 will be installed --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Installing: epel-release noarch 7-6 /epel-release-7-6.noarch 24 k Transaction Summary ====================================================================================================================================================================================== Install 1 Package Total size: 24 k Installed size: 24 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : epel-release-7-6.noarch 1/1 Verifying : epel-release-7-6.noarch 1/1 Installed: epel-release.noarch 0:7-6 Complete! [root@i-f6wk8ncx software]# [root@i-f6wk8ncx software]# [root@i-f6wk8ncx software]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes Loaded plugins: fastestmirror epel/x86_64/metalink | 5.4 kB 00:00:00 epel | 4.3 kB 00:00:00 (1/3): epel/x86_64/group_gz | 170 kB 00:00:03 (2/3): epel/x86_64/updateinfo | 821 kB 00:00:16 (3/3): epel/x86_64/primary_db | 4.8 MB 00:03:25 Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Package perl-DBD-MySQL-4.023-5.el7.x86_64 already installed and latest version Package perl-Config-Tiny-2.14-7.el7.noarch already installed and latest version Package 4:perl-Time-HiRes-1.9725-3.el7.x86_64 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package perl-Log-Dispatch.noarch 0:2.41-1.el7.1 will be installed --> Processing Dependency: perl(Sys::Syslog) >= 0.25 for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Params::Validate) >= 0.15 for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Params::Validate) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Mail::Sendmail) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Mail::Sender) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Mail::Send) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(MIME::Lite) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch --> Processing Dependency: perl(Class::Load) for package: perl-Log-Dispatch-2.41-1.el7.1.noarch ---> Package perl-Parallel-ForkManager.noarch 0:1.18-2.el7 will be installed --> Running transaction check ---> Package perl-Class-Load.noarch 0:0.20-3.el7 will be installed --> Processing Dependency: perl(Package::Stash) >= 0.14 for package: perl-Class-Load-0.20-3.el7.noarch --> Processing Dependency: perl(Module::Runtime) >= 0.012 for package: perl-Class-Load-0.20-3.el7.noarch --> Processing Dependency: perl(Module::Implementation) >= 0.04 for package: perl-Class-Load-0.20-3.el7.noarch --> Processing Dependency: perl(Try::Tiny) for package: perl-Class-Load-0.20-3.el7.noarch --> Processing Dependency: perl(Module::Runtime) for package: perl-Class-Load-0.20-3.el7.noarch --> Processing Dependency: perl(Data::OptList) for package: perl-Class-Load-0.20-3.el7.noarch ---> Package perl-MIME-Lite.noarch 0:3.030-1.el7 will be installed --> Processing Dependency: perl(MIME::Types) >= 1.28 for package: perl-MIME-Lite-3.030-1.el7.noarch --> Processing Dependency: perl(Email::Date::Format) for package: perl-MIME-Lite-3.030-1.el7.noarch ---> Package perl-Mail-Sender.noarch 0:0.8.23-1.el7 will be installed --> Processing Dependency: perl(Net::SSLeay) for package: perl-Mail-Sender-0.8.23-1.el7.noarch --> Processing Dependency: perl(IO::Socket::SSL) for package: perl-Mail-Sender-0.8.23-1.el7.noarch ---> Package perl-Mail-Sendmail.noarch 0:0.79-21.el7 will be installed ---> Package perl-MailTools.noarch 0:2.12-2.el7 will be installed --> Processing Dependency: perl(Net::SMTP::SSL) for package: perl-MailTools-2.12-2.el7.noarch --> Processing Dependency: perl(Date::Parse) for package: perl-MailTools-2.12-2.el7.noarch --> Processing Dependency: perl(Date::Format) for package: perl-MailTools-2.12-2.el7.noarch ---> Package perl-Params-Validate.x86_64 0:1.08-4.el7 will be installed ---> Package perl-Sys-Syslog.x86_64 0:0.33-3.el7 will be installed --> Running transaction check ---> Package perl-Data-OptList.noarch 0:0.107-9.el7 will be installed --> Processing Dependency: perl(Sub::Install) >= 0.921 for package: perl-Data-OptList-0.107-9.el7.noarch --> Processing Dependency: perl(Params::Util) for package: perl-Data-OptList-0.107-9.el7.noarch ---> Package perl-Email-Date-Format.noarch 0:1.002-15.el7 will be installed ---> Package perl-IO-Socket-SSL.noarch 0:1.94-6.el7 will be installed --> Processing Dependency: perl(IO::Socket::IP) >= 0.20 for package: perl-IO-Socket-SSL-1.94-6.el7.noarch --> Processing Dependency: perl(Net::LibIDN) for package: perl-IO-Socket-SSL-1.94-6.el7.noarch ---> Package perl-MIME-Types.noarch 0:1.38-2.el7 will be installed ---> Package perl-Module-Implementation.noarch 0:0.06-6.el7 will be installed ---> Package perl-Module-Runtime.noarch 0:0.013-4.el7 will be installed ---> Package perl-Net-SMTP-SSL.noarch 0:1.01-13.el7 will be installed ---> Package perl-Net-SSLeay.x86_64 0:1.55-6.el7 will be installed ---> Package perl-Package-Stash.noarch 0:0.34-2.el7 will be installed --> Processing Dependency: perl(Package::Stash::XS) >= 0.26 for package: perl-Package-Stash-0.34-2.el7.noarch --> Processing Dependency: perl(Package::DeprecationManager) for package: perl-Package-Stash-0.34-2.el7.noarch ---> Package perl-TimeDate.noarch 1:2.30-2.el7 will be installed ---> Package perl-Try-Tiny.noarch 0:0.12-2.el7 will be installed --> Running transaction check ---> Package perl-IO-Socket-IP.noarch 0:0.21-4.el7 will be installed ---> Package perl-Net-LibIDN.x86_64 0:0.12-15.el7 will be installed ---> Package perl-Package-DeprecationManager.noarch 0:0.13-7.el7 will be installed --> Processing Dependency: perl(List::MoreUtils) for package: perl-Package-DeprecationManager-0.13-7.el7.noarch ---> Package perl-Package-Stash-XS.x86_64 0:0.26-3.el7 will be installed ---> Package perl-Params-Util.x86_64 0:1.07-6.el7 will be installed ---> Package perl-Sub-Install.noarch 0:0.926-6.el7 will be installed --> Running transaction check ---> Package perl-List-MoreUtils.x86_64 0:0.33-9.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Installing: perl-Log-Dispatch noarch 2.41-1.el7.1 epel 82 k perl-Parallel-ForkManager noarch 1.18-2.el7 epel 28 k Installing for dependencies: perl-Class-Load noarch 0.20-3.el7 base 27 k perl-Data-OptList noarch 0.107-9.el7 base 23 k perl-Email-Date-Format noarch 1.002-15.el7 epel 17 k perl-IO-Socket-IP noarch 0.21-4.el7 base 35 k perl-IO-Socket-SSL noarch 1.94-6.el7 base 114 k perl-List-MoreUtils x86_64 0.33-9.el7 base 58 k perl-MIME-Lite noarch 3.030-1.el7 epel 96 k perl-MIME-Types noarch 1.38-2.el7 epel 38 k perl-Mail-Sender noarch 0.8.23-1.el7 epel 59 k perl-Mail-Sendmail noarch 0.79-21.el7 epel 29 k perl-MailTools noarch 2.12-2.el7 base 108 k perl-Module-Implementation noarch 0.06-6.el7 base 17 k perl-Module-Runtime noarch 0.013-4.el7 base 19 k perl-Net-LibIDN x86_64 0.12-15.el7 base 28 k perl-Net-SMTP-SSL noarch 1.01-13.el7 base 9.1 k perl-Net-SSLeay x86_64 1.55-6.el7 base 285 k perl-Package-DeprecationManager noarch 0.13-7.el7 base 18 k perl-Package-Stash noarch 0.34-2.el7 base 34 k perl-Package-Stash-XS x86_64 0.26-3.el7 base 31 k perl-Params-Util x86_64 1.07-6.el7 base 38 k perl-Params-Validate x86_64 1.08-4.el7 base 69 k perl-Sub-Install noarch 0.926-6.el7 base 21 k perl-Sys-Syslog x86_64 0.33-3.el7 base 42 k perl-TimeDate noarch 1:2.30-2.el7 base 52 k perl-Try-Tiny noarch 0.12-2.el7 base 23 k Transaction Summary ====================================================================================================================================================================================== Install 2 Packages (+25 Dependent packages) Total download size: 1.4 M Installed size: 3.1 M Is this ok [y/d/N]: y Downloading packages: (1/27): perl-Data-OptList-0.107-9.el7.noarch.rpm | 23 kB 00:00:00 (2/27): perl-IO-Socket-SSL-1.94-6.el7.noarch.rpm | 114 kB 00:00:00 (3/27): perl-IO-Socket-IP-0.21-4.el7.noarch.rpm | 35 kB 00:00:00 (4/27): perl-Class-Load-0.20-3.el7.noarch.rpm | 27 kB 00:00:00 (5/27): perl-List-MoreUtils-0.33-9.el7.x86_64.rpm | 58 kB 00:00:00 warning: /var/cache/yum/x86_64/7/epel/packages/perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY ] 232 kB/s | 323 kB 00:00:04 ETA Public key for perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm is not installed (6/27): perl-Log-Dispatch-2.41-1.el7.1.noarch.rpm | 82 kB 00:00:01 (7/27): perl-Email-Date-Format-1.002-15.el7.noarch.rpm | 17 kB 00:00:01 (8/27): perl-Mail-Sendmail-0.79-21.el7.noarch.rpm | 29 kB 00:00:00 (9/27): perl-MIME-Types-1.38-2.el7.noarch.rpm | 38 kB 00:00:01 (10/27): perl-MailTools-2.12-2.el7.noarch.rpm | 108 kB 00:00:00 (11/27): perl-Module-Implementation-0.06-6.el7.noarch.rpm | 17 kB 00:00:00 (12/27): perl-Net-LibIDN-0.12-15.el7.x86_64.rpm | 28 kB 00:00:00 (13/27): perl-Module-Runtime-0.013-4.el7.noarch.rpm | 19 kB 00:00:00 (14/27): perl-Net-SMTP-SSL-1.01-13.el7.noarch.rpm | 9.1 kB 00:00:00 (15/27): perl-Package-DeprecationManager-0.13-7.el7.noarch.rpm | 18 kB 00:00:00 (16/27): perl-Package-Stash-XS-0.26-3.el7.x86_64.rpm | 31 kB 00:00:00 (17/27): perl-Package-Stash-0.34-2.el7.noarch.rpm | 34 kB 00:00:00 (18/27): perl-Net-SSLeay-1.55-6.el7.x86_64.rpm | 285 kB 00:00:00 (19/27): perl-Params-Util-1.07-6.el7.x86_64.rpm | 38 kB 00:00:00 (20/27): perl-Sub-Install-0.926-6.el7.noarch.rpm | 21 kB 00:00:00 (21/27): perl-Params-Validate-1.08-4.el7.x86_64.rpm | 69 kB 00:00:00 (22/27): perl-Sys-Syslog-0.33-3.el7.x86_64.rpm | 42 kB 00:00:00 (23/27): perl-Parallel-ForkManager-1.18-2.el7.noarch.rpm | 28 kB 00:00:00 (24/27): perl-Try-Tiny-0.12-2.el7.noarch.rpm | 23 kB 00:00:00 (25/27): perl-TimeDate-2.30-2.el7.noarch.rpm | 52 kB 00:00:00 (26/27): perl-MIME-Lite-3.030-1.el7.noarch.rpm | 96 kB 00:00:04 (27/27): perl-Mail-Sender-0.8.23-1.el7.noarch.rpm | 59 kB 00:00:05 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 213 kB/s | 1.4 MB 00:00:06 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <epel@fedoraproject.org>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-6.noarch (@/epel-release-7-6.noarch) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : perl-Sub-Install-0.926-6.el7.noarch 1/27 Installing : perl-Net-SSLeay-1.55-6.el7.x86_64 2/27 Installing : perl-Try-Tiny-0.12-2.el7.noarch 3/27 Installing : perl-Params-Util-1.07-6.el7.x86_64 4/27 Installing : perl-Module-Runtime-0.013-4.el7.noarch 5/27 Installing : perl-Module-Implementation-0.06-6.el7.noarch 6/27 Installing : perl-Params-Validate-1.08-4.el7.x86_64 7/27 Installing : perl-Data-OptList-0.107-9.el7.noarch 8/27 Installing : perl-Email-Date-Format-1.002-15.el7.noarch 9/27 Installing : perl-Net-LibIDN-0.12-15.el7.x86_64 10/27 Installing : 1:perl-TimeDate-2.30-2.el7.noarch 11/27 Installing : perl-Package-Stash-XS-0.26-3.el7.x86_64 12/27 Installing : perl-MIME-Types-1.38-2.el7.noarch 13/27 Installing : perl-MIME-Lite-3.030-1.el7.noarch 14/27 Installing : perl-List-MoreUtils-0.33-9.el7.x86_64 15/27 Installing : perl-Package-DeprecationManager-0.13-7.el7.noarch 16/27 Installing : perl-Package-Stash-0.34-2.el7.noarch 17/27 Installing : perl-Class-Load-0.20-3.el7.noarch 18/27 Installing : perl-Sys-Syslog-0.33-3.el7.x86_64 19/27 Installing : perl-IO-Socket-IP-0.21-4.el7.noarch 20/27 Installing : perl-IO-Socket-SSL-1.94-6.el7.noarch 21/27 Installing : perl-Mail-Sender-0.8.23-1.el7.noarch 22/27 Installing : perl-Net-SMTP-SSL-1.01-13.el7.noarch 23/27 Installing : perl-MailTools-2.12-2.el7.noarch 24/27 Installing : perl-Mail-Sendmail-0.79-21.el7.noarch 25/27 Installing : perl-Log-Dispatch-2.41-1.el7.1.noarch 26/27 Installing : perl-Parallel-ForkManager-1.18-2.el7.noarch 27/27 Verifying : perl-IO-Socket-SSL-1.94-6.el7.noarch 1/27 Verifying : perl-Module-Runtime-0.013-4.el7.noarch 2/27 Verifying : perl-Mail-Sendmail-0.79-21.el7.noarch 3/27 Verifying : perl-MIME-Lite-3.030-1.el7.noarch 4/27 Verifying : perl-IO-Socket-IP-0.21-4.el7.noarch 5/27 Verifying : perl-Params-Util-1.07-6.el7.x86_64 6/27 Verifying : perl-Try-Tiny-0.12-2.el7.noarch 7/27 Verifying : perl-Parallel-ForkManager-1.18-2.el7.noarch 8/27 Verifying : perl-Mail-Sender-0.8.23-1.el7.noarch 9/27 Verifying : perl-Class-Load-0.20-3.el7.noarch 10/27 Verifying : perl-Sys-Syslog-0.33-3.el7.x86_64 11/27 Verifying : perl-List-MoreUtils-0.33-9.el7.x86_64 12/27 Verifying : perl-Package-DeprecationManager-0.13-7.el7.noarch 13/27 Verifying : perl-MIME-Types-1.38-2.el7.noarch 14/27 Verifying : perl-Package-Stash-0.34-2.el7.noarch 15/27 Verifying : perl-Package-Stash-XS-0.26-3.el7.x86_64 16/27 Verifying : perl-MailTools-2.12-2.el7.noarch 17/27 Verifying : perl-Net-SSLeay-1.55-6.el7.x86_64 18/27 Verifying : perl-Params-Validate-1.08-4.el7.x86_64 19/27 Verifying : perl-Net-SMTP-SSL-1.01-13.el7.noarch 20/27 Verifying : perl-Log-Dispatch-2.41-1.el7.1.noarch 21/27 Verifying : perl-Sub-Install-0.926-6.el7.noarch 22/27 Verifying : perl-Module-Implementation-0.06-6.el7.noarch 23/27 Verifying : 1:perl-TimeDate-2.30-2.el7.noarch 24/27 Verifying : perl-Data-OptList-0.107-9.el7.noarch 25/27 Verifying : perl-Net-LibIDN-0.12-15.el7.x86_64 26/27 Verifying : perl-Email-Date-Format-1.002-15.el7.noarch 27/27 Installed: perl-Log-Dispatch.noarch 0:2.41-1.el7.1 perl-Parallel-ForkManager.noarch 0:1.18-2.el7 Dependency Installed: perl-Class-Load.noarch 0:0.20-3.el7 perl-Data-OptList.noarch 0:0.107-9.el7 perl-Email-Date-Format.noarch 0:1.002-15.el7 perl-IO-Socket-IP.noarch 0:0.21-4.el7 perl-IO-Socket-SSL.noarch 0:1.94-6.el7 perl-List-MoreUtils.x86_64 0:0.33-9.el7 perl-MIME-Lite.noarch 0:3.030-1.el7 perl-MIME-Types.noarch 0:1.38-2.el7 perl-Mail-Sender.noarch 0:0.8.23-1.el7 perl-Mail-Sendmail.noarch 0:0.79-21.el7 perl-MailTools.noarch 0:2.12-2.el7 perl-Module-Implementation.noarch 0:0.06-6.el7 perl-Module-Runtime.noarch 0:0.013-4.el7 perl-Net-LibIDN.x86_64 0:0.12-15.el7 perl-Net-SMTP-SSL.noarch 0:1.01-13.el7 perl-Net-SSLeay.x86_64 0:1.55-6.el7 perl-Package-DeprecationManager.noarch 0:0.13-7.el7 perl-Package-Stash.noarch 0:0.34-2.el7 perl-Package-Stash-XS.x86_64 0:0.26-3.el7 perl-Params-Util.x86_64 0:1.07-6.el7 perl-Params-Validate.x86_64 0:1.08-4.el7 perl-Sub-Install.noarch 0:0.926-6.el7 perl-Sys-Syslog.x86_64 0:0.33-3.el7 perl-TimeDate.noarch 1:2.30-2.el7 perl-Try-Tiny.noarch 0:0.12-2.el7 Complete! [root@i-f6wk8ncx software]# yum install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Package perl-DBD-MySQL-4.023-5.el7.x86_64 already installed and latest version Package perl-Config-Tiny-2.14-7.el7.noarch already installed and latest version Package perl-Log-Dispatch-2.41-1.el7.1.noarch already installed and latest version Package perl-Parallel-ForkManager-1.18-2.el7.noarch already installed and latest version Package 4:perl-Time-HiRes-1.9725-3.el7.x86_64 already installed and latest version Nothing to do [root@i-f6wk8ncx software]# |
安装perl:
[root@i-f6wk8ncx software]# yum install perl Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package perl.x86_64 4:5.16.3-285.el7 will be updated ---> Package perl.x86_64 4:5.16.3-292.el7 will be an update --> Processing Dependency: perl-libs = 4:5.16.3-292.el7 for package: 4:perl-5.16.3-292.el7.x86_64 --> Running transaction check ---> Package perl-libs.x86_64 4:5.16.3-285.el7 will be updated ---> Package perl-libs.x86_64 4:5.16.3-292.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Updating: perl x86_64 4:5.16.3-292.el7 base 8.0 M Updating for dependencies: perl-libs x86_64 4:5.16.3-292.el7 base 688 k Transaction Summary ====================================================================================================================================================================================== Upgrade 1 Package (+1 Dependent package) Total download size: 8.6 M Is this ok [y/d/N]: y Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/2): perl-libs-5.16.3-292.el7.x86_64.rpm | 688 kB 00:00:01 (2/2): perl-5.16.3-292.el7.x86_64.rpm | 8.0 MB 00:00:12 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 693 kB/s | 8.6 MB 00:00:12 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : 4:perl-libs-5.16.3-292.el7.x86_64 1/4 Updating : 4:perl-5.16.3-292.el7.x86_64 2/4 Cleanup : 4:perl-5.16.3-285.el7.x86_64 3/4 Cleanup : 4:perl-libs-5.16.3-285.el7.x86_64 4/4 Verifying : 4:perl-libs-5.16.3-292.el7.x86_64 1/4 Verifying : 4:perl-5.16.3-292.el7.x86_64 2/4 Verifying : 4:perl-libs-5.16.3-285.el7.x86_64 3/4 Verifying : 4:perl-5.16.3-285.el7.x86_64 4/4 Updated: perl.x86_64 4:5.16.3-292.el7 Dependency Updated: perl-libs.x86_64 4:5.16.3-292.el7 Complete! |
安装Manager:
先安装node包,再安装manager包。[root@i-f6wk8ncx software]# yum localinstall --nogpgcheck mha4mysql-node-0.56-0.el6.noarch.rpm Loaded plugins: fastestmirror Examining mha4mysql-node-0.56-0.el6.noarch.rpm: mha4mysql-node-0.56-0.el6.noarch Marking mha4mysql-node-0.56-0.el6.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mha4mysql-node.noarch 0:0.56-0.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Installing: mha4mysql-node noarch 0.56-0.el6 /mha4mysql-node-0.56-0.el6.noarch 102 k Transaction Summary ====================================================================================================================================================================================== Install 1 Package Total size: 102 k Installed size: 102 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mha4mysql-node-0.56-0.el6.noarch 1/1 Verifying : mha4mysql-node-0.56-0.el6.noarch 1/1 Installed: mha4mysql-node.noarch 0:0.56-0.el6 Complete! [root@i-f6wk8ncx software]# yum localinstall --nogpgcheck mha4mysql-manager-0.56-0.el6.noarch.rpm Loaded plugins: fastestmirror Examining mha4mysql-manager-0.56-0.el6.noarch.rpm: mha4mysql-manager-0.56-0.el6.noarch Marking mha4mysql-manager-0.56-0.el6.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package mha4mysql-manager.noarch 0:0.56-0.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================================================================================== Package Arch Version Repository Size ====================================================================================================================================================================================== Installing: mha4mysql-manager noarch 0.56-0.el6 /mha4mysql-manager-0.56-0.el6.noarch 325 k Transaction Summary ====================================================================================================================================================================================== Install 1 Package Total size: 325 k Installed size: 325 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mha4mysql-manager-0.56-0.el6.noarch 1/1 Verifying : mha4mysql-manager-0.56-0.el6.noarch 1/1 Installed: mha4mysql-manager.noarch 0:0.56-0.el6 Complete! [root@i-f6wk8ncx software]# |
yum local install --nogpgcheck mha4mysql-node-0.56-0.el6.noarch.rpm
安装完成!
5:MHA配置文件:
创建目录:mkdir -p /etc/masterha/app1.conf比如:
[server default] manager_workdir=/var/log/masterha/app1 manager_log=/var/log/masterha/app1/manager.log user=root #数据库账号MySQL数据库管理账户及密码,因为要执行一些必要的管理命令,比如:Stop Slave、Change Master、#Reset Slave,所以该账户应该为root,这也是缺省值。 password=xxxxxx #数据库账号密码 ssh_user=root repl_user=root repl_password=xxxxxx ping_interval=1 ##在实例crash后 MHA用于切换IP脚本 master_ip_failover_script= /home/mha/script/master_ip_failover shutdown_script="" master_ip_online_change_script="" report_script="" [server1] hostname=192.168.60.xxx port=3333 candidate_master=1 master_binlog_dir="/home/mha/mysql01/5.6.25/data/" [server2] hostname=192.168.60.xxx port=3333 candidate_master=1 master_binlog_dir="/home/mha/mysql01/5.6.25/data/" [server3] hostname=192.168.60.xxx port=3335 #不能成为master no_master=1 master_binlog_dir="/home/mha/mysql03/5.6.25/data/" |
重要参数解释:
所有参数解析:https://github.com/yoshinorim/mha4mysql-manager/wiki/Parameters#init_conf_load_scriptcandidate_master=1 | 在failover时考虑此节点提升为Master. |
no_master=1 | 在failover时不提升此节点为Master. |
用户扩展:
MHA有多个扩展点。 比如MHA可以调用本地脚本来更新主节点IP(更新管理主库IP的全局目录库,更新虚拟IP地址等)。就是为什么要让用户根据自己环境来管理IP地址而不是强制只提供一种方式。 目前的扩展点如下,MHA Manager包包含样本脚本。 secondary_check_script: 多路由检察主节点可用性 master_ip_failover_script: 更新IP shutdown_script: 用户强制关闭主节点 report_script: 用来发送运行报告信息 init_conf_load_script: 用来加载初始化配置参数 master_ip_online_change_script: 用来更新主节点IP,不用于failover,用于主节点在线切换。 |
6:服务器SSH免密配置:
略..
7:MySQL Replication 账号配置:
略..
8:MySQL半同步配置:
分别在主从库上进行配置: 主: mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; 从: mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so'; 查看插件是否加载成功 有两种方式 1. mysql> show plugins; rpl_semi_sync_master | ACTIVE | REPLICATION | semisync_master.so | GPL 2. mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%semi%'; +----------------------+---------------+ | PLUGIN_NAME | PLUGIN_STATUS | +----------------------+---------------+ | rpl_semi_sync_master | ACTIVE | +----------------------+---------------+ 1 row in set (0.00 sec) 启动半同步复制 在安装完插件后,半同步复制默认是关闭的,这时需设置参数来开启半同步 主: mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1; 从: mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1; 以上的启动方式是在命令行操作,也可写在配置文件中。 主: plugin-load=rpl_semi_sync_master=semisync_master.so rpl_semi_sync_master_enabled=1 从: plugin-load=rpl_semi_sync_slave=semisync_slave.so rpl_semi_sync_slave_enabled=1 在有的高可用架构下,master和slave需同时启动,以便在切换后能继续使用半同步复制 plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so" rpl-semi-sync-master-enabled = 1 rpl-semi-sync-slave-enabled = 1 重启从上的IO线程 mysql> STOP SLAVE IO_THREAD; mysql> START SLAVE IO_THREAD; 如果没有重启,则默认还是异步复制,重启后,slave会在master上注册为半同步复制的slave角色。 这时候,主的error.log中会打印如下信息: 2016-08-05T10:03:40.104327Z 5 [Note] While initializing dump thread for slave with UUID <ce9aaf22-5af6-11e6-850b-000c2988bad2>, found a zombie dump thread with the same UUID. Master is killing the zombie dump thread(4). 2016-08-05T10:03:40.111175Z 4 [Note] Stop asynchronous binlog_dump to slave (server_id: 2) 2016-08-05T10:03:40.119037Z 5 [Note] Start binlog_dump to master_thread_id(5) slave_server(2), pos(mysql-bin.000003, 621) 2016-08-05T10:03:40.119099Z 5 [Note] Start semi-sync binlog_dump to slave (server_id: 2), pos(mysql-bin.000003, 621) 查看半同步是否在运行 主: mysql> show status like 'Rpl_semi_sync_master_status'; +-----------------------------+-------+ | Variable_name | Value | +-----------------------------+-------+ | Rpl_semi_sync_master_status | ON | +-----------------------------+-------+ 1 row in set (0.00 sec) 从: mysql> show status like 'Rpl_semi_sync_slave_status'; +----------------------------+-------+ | Variable_name | Value | +----------------------------+-------+ | Rpl_semi_sync_slave_status | ON | +----------------------------+-------+ 1 row in set (0.20 sec) 这两个变量常用来监控主从是否运行在半同步复制模式下。 |
9:MySQL my.cnf配置注意事项
[warning] relay_log_purge=0 is not set on slave 192.168.60.152(192.168.60.152:3317) | 从库设置 relay_log_purge=0。使用完的中继日志不自动删除。 |
read_only=1 is not set on slave 192.168.70.6(192.168.70.6:3318). | 所有库增加配置 read_only=1。MHA会自己根据需要设置是否只读。 |
Testing mysql connection and privileges..sh: mysql: command not found mysql command failed with rc 127:0! at /usr/bin/apply_diff_relay_logs line 375. main::check() called at /usr/bin/apply_diff_relay_logs line 497 eval {...} called at /usr/bin/apply_diff_relay_logs line 475 main::main() called at /usr/bin/apply_diff_relay_logs line 120 Mon Sep 18 14:01:16 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln205] Slaves settings check failed! Mon Sep 18 14:01:16 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln413] Slave configuration failed. Mon Sep 18 14:01:16 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. at /usr/bin/masterha_check_repl line 48. Mon Sep 18 14:01:16 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers. Mon Sep 18 14:01:16 2017 - [info] Got exit code 1 (Not master dead). | 拷贝mysql执行文件到目录 /usr/local/bin下 |
Can't exec "mysqlbinlog": No such file or directory at /usr/share/perl5/vendor_perl/MHA/BinlogManager.pm line 106. mysqlbinlog version command failed with rc 1:0, please verify PATH, LD_LIBRARY_PATH, and client options at /usr/bin/apply_diff_relay_logs line 493. Mon Sep 18 13:59:17 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln205] Slaves settings check failed! Mon Sep 18 13:59:17 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln413] Slave configuration failed. Mon Sep 18 13:59:17 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln424] Error happened on checking configurations. at /usr/bin/masterha_check_repl line 48. Mon Sep 18 13:59:17 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterMonitor.pm, ln523] Error happened on monitoring servers. Mon Sep 18 13:59:17 2017 - [info] Got exit code 1 (Not master dead). | 拷贝mysqlbinlog执行文件到目录 /usr/local/bin下 |
相关文章推荐
- MySQL半同步复制及搭建
- MYSQL 半同步复制环境搭建
- Mysql主从复制(同步原理及搭建过程)
- MySQL 5.6 一主多从的 半同步复制搭建(已纠正)
- mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)
- 【同步复制常见错误处理1】当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)
- mysql主从同步出现异常语句跳过错误处理
- MySQL 5.6版本GTID复制异常处理一例
- MYSQL主从复制搭建全过程实战---探索不能实时同步的关键性参数
- 【同步复制常见错误处理3】找不到存储的过程 sp_MSins_tablename
- MYSQL异常处理日志:主从库同步延迟时间过长的分析
- mysql 半同步复制(semi_sync_replication)搭建及使用
- mysql主从同步常见异常及恢复方法
- MySQL 传统复制中常见故障处理和结构优化案例分析
- 【同步复制常见错误处理2】同步复制数据引起的同步失败错误
- MySQL同步复制搭建方法指南详细步骤
- mysql半同步复制搭建及验证测试
- 《深入浅出MySQL:数据库开发、优化与管理维护(2nd)》第31章之MySQL半同步复制搭建学习笔记
- mysql同步复制搭建方法指南详细步骤
- 【干货】MySQL5.6配置同步复制的新方法以及常见问题的解决方法