标签:权限列表 任务 nlog master mysql高可用 install replica 复制 建议
MHA简介服务器(安装MHA):172.20.29.201
主服务器:172.20.29.202
从服务器A:172.20.29.203
从服务器B:172.20.29.204
#定义计划任务
crontab -e
*/5 * * * * /usr/sbin/ntpdate 172.20.0.1 &> /dev/null #每5分钟自动同步时间至服务器
iptables -vnL #查看防火墙状态
systemctl stop firewall #关闭防火墙
getenforce #查看SELinux状态
setenforce 0 #关闭SElinux
ssh-keygen -t rsa -P ‘‘ -f "/root/.ssh/id_rsa" #生成私钥
ssh-copy-id 172.20.29.201 #复制公钥至本机
#四台主机共用一把钥匙
scp -pr /root/.ssh 172.20.29.202:/root/
scp -pr /root/.ssh 172.20.29.203:/root/
scp -pr /root/.ssh 172.20.29.204:/root/
yum install mha4mysql-node-0.56-0.el6.noarch
mysql5.5
#MHA服务器上安装MHA包(注意安装依赖epel源)
yum install mha4mysql-manager-0.56-0.el6.noarch
#创建并修改MHA配置文件
mkdir /etc/mha/ -p
vim /etc/mha/app1.cnf
[server default]
user=MHAuser #连接每一台数据库的用户
password=centos #连接每一台数据库的密码
manager_workdir=/data/mastermha/app1/
manager_log=/data/mastermha/app1/manager.log
remote_workdir=/data/mastermha/app1/
master_binlog_dir=/data/binlogs/ #指定管理的二进制文件目录
ssh_user=root #使用什么账号来连接每台主机
repl_user=MHAuser #ssh协议连接的用户
repl_password=centos #ssh协议连接的密码
ping_interval=1 #多长时间去探测每个节点
[server1]
hostname=172.20.29.202 #主服务器地址
candidate_master=1 #设置为主服务器
[server2]
hostname=172.20.29.203 #从服务器地址
candidate_master=1 #设置主服务器宕机立刻升级为主服务器
[server3]
hostname=172.20.29.204 #从服务器地址
#检查每一台主机ssh协议是否生效
masterha_check_ssh --conf=/etc/mha/app1.cnf
#检查每一台主机复制是否正常
masterha_check_repl --conf=/etc/mha/app1.cnf
#开启MHA集群(注意此处前台执行,长期前台执行,建议在主机上运行)
masterha_manager --conf=/etc/mha/app1.cnf
#创建文件夹用于存放二进制日志文件(注意文件夹权限)
mkdir /data/binlogs
chown mysql.mysql /data/binlogs/
chmod 770 /data/binlogs/
#修改mysql配置文件
vim /etc/my.cnf
server_id= 11 #主服务器ID标识
log_bin=/data/binlogs/master-bin #配置文件里指定二进制日志文件存放目录
binlog_format=row #以行模式复制数据
skip_name_resolve=1 #做名字解析
rpl_semi_sync_master_enabled=ON #开启半同步插件
#授权从服务器登录本机数据库
grant replication slave,replication client on *.* to ‘jian‘@‘172.20.29.%‘ identified by ‘centos‘;
#授权所有权限给MHA管理所有服务器
grant all on *.* to MHAuser@‘172.20.29.%‘ identified by ‘centos‘;
#刷新系统权限列表
flush privileges;
#创建文件夹用于存放二进制日志文件(注意文件夹权限)
mkdir /data/binlogs
chown mysql.mysql /data/binlogs/
chmod 770 /data/binlogs/
#修改mysql配置文件
vim /etc/my.cnf
server-id = 12 #从服务器ID标识
log-bin=/data/binlogs/master-bin #配置文件里指定二进制日志文件存放目录
read_only=on #配置从服务器只读
relay_log_purge=0 #中继日志不清除
skip_name_resolve=1 #做名字解析
rpl_semi_sync_slave_enabled=ON; #开启半同步插件
#从库建立与主库的连接
change master to
MASTER_HOST=‘172.20.29.202‘,
MASTER_USER =‘jian‘,
MASTER_PASSWORD =‘centos‘,
MASTER_LOG_FILE =‘master-bin.000001‘,
MASTER_LOG_POS =245;
start slave; #开启IO线程
show slave status\G #查看IO线程
Slave_IO_Running: Yes #这两项全部为yes,成功;否则失败.
Slave_SQL_Running: Yes
#创建文件夹用于存放二进制日志文件(注意文件夹权限)
mkdir /data/binlogs
chown mysql.mysql /data/binlogs/
chmod 770 /data/binlogs/
#修改mysql配置文件
vim /etc/my.cnf
server-id = 13 #从服务器ID标识
log-bin=/data/binlogs/master-bin #配置文件里指定二进制日志文件存放目录
read_only=on #配置从服务器只读
relay_log_purge=0 #中继日志不清除
skip_name_resolve=1 #做名字解析
#建立连接之前建议清理线程缓存
stop slave;
reset slave;
#从库建立与主库的连接
change master to
MASTER_HOST=‘172.20.29.202‘,
MASTER_USER =‘jian‘,
MASTER_PASSWORD =‘centos‘,
MASTER_LOG_FILE =‘master-bin.000001‘,
MASTER_LOG_POS =245;
start slave; #开启IO线程
show slave status\G #查看IO线程
Slave_IO_Running: Yes #这两项全部为yes,成功;否则失败.
Slave_SQL_Running: Yes
MHA程序将自动将从服务器A切换为主服务器,并停下MHA程序
标签:权限列表 任务 nlog master mysql高可用 install replica 复制 建议
原文地址:http://blog.51cto.com/13769014/2130073