打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MHA-mysql5.7.20

1.服务器:
192.168.9.24 Mha-master
192.168.9.25 Mha-slave
192.168.9.26 Mha-bak
2.布置开启Gtid功能mysql5.7.20并建立主从复制
2.1三台安装mysql5.7.20

#!/bin/bash#author:pan#切换到相应文件夹cd #二进制安装mysql5.7.20tar xvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/localcd /usr/local/mv mysql-5.7.20-linux-glibc2.12-x86_64/ mysqlcd /usr/local/mysql/mkdir -p data log binlogs runcd /usr/local/#添加用户useradd -M -s /sbin/nologin mysql#更改属主chown -R mysql.mysql mysql#添加路径ln -s /usr/local/mysql/bin/* /usr/local/bin/#删除原my.cnfrm -f /etc/my.cnf#创建my.cnfcat > /etc/my.cnf << EOF[client]port = 3306socket = /usr/local/mysql/run/mysql.sock[mysqld]port = 3306socket = /usr/local/mysql/run/mysql.sockpid_file = /usr/local/mysql/run/mysql.piddatadir = /usr/local/mysql/datadefault_storage_engine = InnoDBmax_allowed_packet = 512Mmax_connections = 2048open_files_limit = 65535skip-name-resolvelower_case_table_names=1character-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'innodb_buffer_pool_size = 1024Minnodb_log_file_size = 2048Minnodb_file_per_table = 1innodb_flush_log_at_trx_commit = 0key_buffer_size = 64Mlog-error = /usr/local/mysql/log/mysql_error.loglog-bin = /usr/local/mysql/binlogs/mysql-binslow_query_log = 1slow_query_log_file = /usr/local/mysql/log/mysql_slow_query.loglong_query_time = 5tmp_table_size = 32Mmax_heap_table_size = 32Mquery_cache_type = 0query_cache_size = 0server-id=1EOF#初始化数据库mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data#设置启动项cat > /usr/lib/systemd/system/mysqld.service << EOF[Unit]Description=MySQL ServerDocumentation=man:mysqld(8)Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.htmlAfter=network.targetAfter=syslog.target[Install]WantedBy=multi-user.target[Service]User=mysqlGroup=mysqlType=forkingPIDFile=/usr/local/mysql/run/mysqld.pid#Disable service start and stop timeout logic of systemd for mysqld service.TimeoutSec=0#Execute pre and post scripts as rootPermissionsStartOnly=true#Needed to create system tables#ExecStartPre=/usr/bin/mysqld_pre_systemd#Start main serviceExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/run/mysqld.pid $MYSQLD_OPTS#Use this to switch malloc implementationEnvironmentFile=-/etc/sysconfig/mysql#Sets open_files_limitLimitNOFILE = 65535Restart=on-failureRestartPreventExitStatus=1PrivateTmp=falseEOF#重新加载daemonsystemctl daemon-reloadsystemctl enable mysqld.servicesystemctl start mysqld#启动后第一次登陆密码#grep 'temporary password' /usr/local/mysql/log/mysql_error.log#修改初始密码#mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '000000';#安装完成

2.2开启gtid功能,修改配置文件
Mha-master主机:
[mysqld]
gtid_mode = ON
log_slave_updates 增加此三行调整server-id的值
enforce_gtid_consistency

server-id=1
Mha-slave主机:
[mysqld]
read_only = 1 设置只读

gtid_mode = ON
log_slave_updates 增加此三行调整server-id的值
enforce_gtid_consistency

server-id=2

relay_log_purge = 0 禁用自动删除relay log功能

重启mysql,并查看
[root@Mha-master ~]# systemctl restart mysqld
[root@Mha-master ~]# mysql -uroot -p000000
mysql> show global variables like '%gtid%';
---------------------------------- -------
| Variable_name | Value |
---------------------------------- -------
| binlog_gtid_simple_recovery | ON |
| enforce_gtid_consistency | ON |
| gtid_executed | |
| gtid_executed_compression_period | 1000 |
| gtid_mode | ON |
| gtid_owned | |
| gtid_purged | |
| session_track_gtids | OFF |
---------------------------------- -------
8 rows in set (0.00 sec)

2.3配置主从
2.3.1在Mha-master上创建主从复制账号
mysql> grant replication slave on . to rep@'192.168.9.%' identified by '000000';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show grants for rep@'192.168.9.%' ;
-------------------------------------------------------
| Grants for rep@192.168.9.% |
-------------------------------------------------------
| GRANT REPLICATION SLAVE ON . TO 'rep'@'192.168.9.%' |
-------------------------------------------------------
1 row in set (0.00 sec)
2.3.2在两个从上进行主从同步
[root@Mha-slave ~]# mysql -uroot -p000000
mysql> change master to master_host='192.168.9.24',master_user='rep',master_password='000000',master_auto_position=1;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G;
查看是否成功,如果不成功查看是否是防火墙的问题

3.三台都做服务器ssh
[root@Mha-master ~]# ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa
[root@Mha-master ~]# sshpass -p 102110504 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.9.25

4.部署MHA

来源:http://www.icode9.com/content-2-26141.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
秒级故障切换!用MHA轻松实现MySQL高可用(二)
MySQL高可用系列之MHA(一)
一步一个坑:搭建Mysql MHA高可用集群+各种报错解决 – 运维生存时间
MySQL系列:高可用架构之MHA
Mysql MHA
MySQL 架构及业务详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服