mysql8主从集群配置

前言

使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。本文主要介绍mysql主从集群搭建通过读写分离解决高并发的场景


一、环境准备

192.168.0.1 : master
192.168.0.2 : slave

二、操作步骤

1.环境检查(主从节点执行)

rpm -qa | grep mariadb

在这里插入图片描述

若有安装mariadb,先进行卸载,lib可以保留
rpm -e --nodeps mariadb-server-5.5.68-1.el7.x86_64 mariadb-5.5.68-1.el7.x86_64

在这里插入图片描述

2.安装部署(主从节点执行)

上传并解压安装包
tar -xvf mysql-8.0.26-el7-x86_64.tar.gz -C /mysql
mv /mysql/mysql-8.0.26-el7-x86_64/ /mysql/mysql
创建mysql用户并赋权
useradd mysql
chown -R mysql:mysql /mysql/mysql/
创建mysql相关目录
test -d /data/mysql |mkdir -p /data/mysql
test -d /data/tmp |mkdir -p /data/tmp
test -d /data/log |mkdir -p /data/log
创建service服务
cp -a /mysql/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
添加环境变量
echo 'export PATH=$PATH:/mysql/mysql/bin:/mysql/mysql/lib' >> /etc/profile
echo "export PATH" >> /etc/profile
source /etc/profile
上传配置文件并替换
mv /etc/my.cnf /etc/my.cnf.bak
mv /mysql/install/my.cnf /etc/
chown mysql:mysql /etc/my.cnf
my.cnf如图所示

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

从节点需修改server-id

在这里插入图片描述

切换mysql用户
su - mysql  (注意 ‘-’ 的前后有空格)
初始化mysql,并记录生成的临时密码
/mysql/mysql/bin/mysqld  --user=mysql --basedir=/mysql/mysql  --datadir=/data/mysql/ --initialize

在这里插入图片描述

启动数据库
service mysql start

3.主节点权限设置(主节点执行)

用之前记录的临时密码登录登录
mysql -uroot -pxxxxxxx
执行sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
update mysql.user set host='%' where user='root';
flush privileges;
create user 'repl'@'%' identified with 'mysql_native_password' by '新密码';
GRANT replication slave ON *.* TO 'repl'@'%';
GRANT replication client ON *.* TO 'repl'@'%';
flush privileges;
show master status

在这里插入图片描述

4.从节点同步设置(从节点执行)

用之前记录的临时密码登录登录
mysql -uroot -pxxxxxxx
执行sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
update mysql.user set host='%' where user='root';
flush privileges;
CHANGE MASTER TO
MASTER_HOST='Master节点IP',
MASTER_USER='repl',
MASTER_PASSWORD='Master节点repl用户密码',
MASTER_LOG_FILE='Mster节点show master status命令File值',
MASTER_LOG_POS=Mster节点show master status命令Position值;
start slave;
查看同步情况
show slave status\G;

在这里插入图片描述

两项都为yes则为同步成功

5.mysql开机自启动(主从节点执行)

用root用户执行
chmod +x /etc/rc.d/rc.local
echo 'su - mysql -c "service mysql start"' >> /etc/rc.d/rc.local

到这里一个简单的案例基本就分析结束。感谢你的学习。

最后想一起交流技术的可以加我wx:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值