mysql服务1主2从,主主,MHA配置详细步骤

Mysql主从配置方法:

PS:修改数据库密码:

ALTER USER USER() IDENTIFIED BY "123456";

主从搭建步骤:

1.主服务器上进行配置:

进入到my.cnf配置文件内:

vim /etc/my.cnf

输入以下内容:

[mysqld]

#主配置

log-bin = mysql-bin

server-id=10

binlog-ignore-db=mysql

binlog_format=mixed

expire_logs_days=10

配置完后重启mysql

systemctl restart mysql

进入数据库:

mysql -uroot -p123456
#也可以使用
mysql -uroot -p

###授权给Slave服务器###

#本服务器地址
GRANT REPLICATION SLAVE ON *.* to 'test'@'192.168.174.133' identified by 'giiso';
grant all on *.* to rep@"%" identified by "123456";
flush privileges;   ---刷新权限

###查询主数据库状态###

mysql> show master status;

2.从库上进行配置:

同样进入到vi /etc/my.cnf配置文件内,输入以下内容:

#从配置
log-bin = mysql-bin
server-id=11

进入到数据库内:

###执行同步SQL语句###

#输入主库的IP地址,和mysql-bin的序列号码
change master to master_host = '192.168.174.133', master_user = 'rep', master_port=3306, master_password='123456', master_log_file = 'mysql-bin.000002',master_log_pos=120;

###启动Slave 同步进程####

start slave;

####主从同步检查####

mysql> show slave status\G

如果 i0线程是 no sql线程是yes

问题01:

处理方法:

flush logs;清空日志

mysql> stop slave;
change master to master_log_file='mysql-bin.000001',master_log_pos=120;
mysql> start slave;

1主2从搭建步骤:

1.主服务器上进行配置:

遵循上个主从复制的方法

2.第1台从库服务器配置:

遵循上个主从复制的方法

3.第2台从库服务器配置:

同样进入到我们的my.cnf配置文件内,输入以下内容:

#从配置
log-bin = mysql-bin
server-id=12

###执行同步SQL语句###

#注意我们的IP地址是要和主库一致,mysql-bin记得修改与主库一致
change master to master_host = '192.168.174.133', master_user = 'rep', master_port=3306, master_password='123456', master_log_file = 'mysql-bin.000003',master_log_pos=120;

###启动Slave 同步进程####

start slave; 

####主从同步检查####

mysql> show slave status\G

主主搭建步骤:

需要在主从的基础上进行搭建:

1.133主服务器上进行配置:

进入到vi /etc/my.cnf里面配置以下文件:

log-bin = mysql-bin
server-id=1
binlog-ignore-db=mysql
auto_increment_increment=2      #进步值auto_imcrement.一般有n台主Mysql就填写n
auto_increment_offset=1        #起始值,一般填第n台主mysql,此时为第二台主mysql

重新启动mysql:

systemctl restart mysql

2.134主服务器上进行配置:

进入到vi /etc/my.cnf里面配置以下文件:

log-bin = mysql-bin
server-id=2
binlog-ignore-db=mysql
auto_increment_increment=2      #进步值auto_imcrement.一般有n台主Mysql就填写n
auto_increment_offset=2         #起始值,一般填第n台主mysql,此时为第二台主mysql 

重新启动mysql:

systemctl restart mysql

进入134服务器数据库创建账号:

GRANT REPLICATION SLAVE ON *.* TO 'sally1'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

创建好后,切换到133服务器上:

mysql -h 192.168.174.134 -usally1 -p123456
#注意账号的变化

如果可以登录进去134数据库的话,用root用户重新登录133数据库,注意这里都是在133服务器上操作

mysql -uroot -p

在这之前要分别检查一下133和134的数据库master信息是否可以出来,然后我们先记住134的master信息

show master status;

 可以看到我们这里是505

所以我们在133服务器上的授权操作是Poistion505

CHANGE MASTER TO MASTER_HOST='192.168.174.134', MASTER_USER='sally1', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=505;

启动slave

start slave;

查看133和134服务器slave\G里面IO和SQL是否YES

show slave status\G

测试:在133和134服务器上分别创建数据库看看能不能同步

create database ll;

主主-keepalived搭建步骤:

需要在主主的基础上进行搭建:

配置keepalived高可用,以mysql-01为例,需要注意的地方有标注5.1安装keepalived

yum install keepalived -y          
#(两台都需要安装)

1.133主服务器上进行配置:

修改配置文件

vi /etc/keepalived/keepalived.conf

配置文件内容如下:

! Configuration File for keepalived
global defs {
	notification_email {
		1994310356@qq.com
}
	notification_email_from 1994310356@qq.com
	smtp_server 192.168.174.133
	smtp_connect_timeout 30
	router_id mysql-01		#在MYSQL-02上配置时要改成MYSQL
}

vrrp_script check_mysqld {
	script “/etc/keepalived/check_mysql.sh”
	interval 2
weight -2
}

重启mysql

systemctl restart mysql

2.134主服务器上进行配置:

修改配置文件

vi /etc/keepalived/keepalived.conf

配置文件内容如下:

! Configuration File for keepalived
global defs {
	notification_email {
		1994310356@qq.com
}
	notification_email_from 1994310356@qq.com
	smtp_server 192.168.174.133
	smtp_connect_timeout 30
	router_id mysql-02		#在MYSQL-02上配置时要改成MYSQL
}

vrrp_script check_mysqld {
	script “/etc/keepalived/check_mysql.sh”
	interval 2
weight -2
}

重启mysql

systemctl restart mysql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MHAMySQL的高可用方案之一,它可以在一主多从的环境下实现MySQL的高可用。下面是一主从做高可用MHA的步骤: 1. 安装MHA管理节点 首先需要在一台机器上安装MHA管理节点,这里假设安装在192.168.1.1上。 2. 准备MySQL库和从库 在台从服务器上安装MySQL,并且将它们配置从复制的关系。服务器的状态可以通过show master status;命令来查看,从服务器的状态可以通过show slave status;命令来查看。 3. 配置MHA 在管理节点上创建MHA配置文件,例如mha.cnf,并在其中指定服务器和从服务器的IP地址、MySQL的用户名和密码等信息。具体配置可以参考MHA的文档。 4. 启动MHA管理节点 在管理节点上执行以下命令启动MHA管理节点: ``` masterha_manager --conf=/path/to/mha.cnf ``` 5. 启动MHA监控脚本 在服务器上执行以下命令启动MHA监控脚本: ``` nohup masterha_check_ssh --conf=/path/to/mha.cnf & ``` 这个脚本会定期检查服务器和从服务器的SSH连接是否正常,如果连接出现问题,就会自动切换为新的服务器。 6. 测试切换 为了测试切换是否正常,可以手动模拟服务器宕机的情况,例如通过killall mysqld来停止服务器的MySQL服务。此时MHA会自动将一个从服务器提升为新的服务器。 注意:在实际生产环境中,需要对MHA进行充分的测试和验证,以确保它能够正常地实现MySQL的高可用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ELIAUK``

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值