利用mysql进行集群的操作

本文中使用的mysql是在VM虚拟机上搭建的三台机器的集群,其中一台机器作为主机器,另外两台作为从机器,ip分别为:

主机器:192.168.159.136   从机: 192.168.159.135、192.168.159.137

首先我们需要在互联网上下载mysql的安装包(mysql从5.7开始已经开始支持集群的配置):

 wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

 rpm -ivh mysql57-community-release-el7-8.noarch.rpm

 yum install mysql-server

systemctl stop firewalld.service

systemctl start mysqld

安装了 mysql5.7之后因为5.7处于安全策略考虑会有将原始密码进行加密的操作,这里需要我们将mysql的密码获取得到

grep  "password" /var/log/mysqld.log

如果使用上述方法获取不到密码,则可以进行下面的操作。

https://blog.csdn.net/t1anyuan/article/details/70216235

然后使用  mysql -uroot -p

输入获取到的密码,然后进入mysql,进入mysql之后还需要对mysql的密码进行重置。

因为5.7对安全策略的要求比较高,需要设置一个密码同时包含大写、小写、特殊字符、必须超过8位

先执行下面的语句:

 alter user 'root'@'localhost' identified by 'Zxcvbnmasdf$';

然后可以修改5.7的安全策略

set global validate_password_length=1;

set global validate_password_policy=0;

然后再重新设置密码:

  alter user 'root'@'localhost' identified by 'root';





mysql5.7当中三个经常使用到的文件默认存放位置:

       mysql的数据文件和二进制文件:   /var/lib/mysql/

       mysql的配置文件: /etc/my.cnf

       mysql的日志文件:  /var/log/mysql.log


配置一下my.cnf文件,把当前这台机器(192.168.159.136)加入下面的配置:

[mysqld]  这个标签下的配置:

log-bin=mysql-bin
server-id=136

其中log-bin指的是 集群之后用来做数据交互的文件的前缀,server-id指的是  当前机器ip的最后一个段


然后重启mysql

systemctl restart mysqld

进入mysql 

mysql -uroot -p

密码回车

查看mysql主节点的信息

show master status


然后把这个File和 Position这两个值记录下来,后来会用到。

在主机器上配置一个共享数据的用户:repl,并且把这个共享用户作为 其他 slave 通信的用户

create user repl identified by 'repl';   

grant replication slave on *.* to 'repl'@'%' identified by 'repl';


然后到其他机器上进行配置:

来到192.168.159.135机器上

vi /etc/my.cnf

[mysqld]这个标签内增加下面的配置:

#下面这种情况是配置从机的情况
server-id=135
#配置中继日志,该中继日志存储master上面的所有的信息的。
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index
read_only=1

另外一台机器也是这样配置  server-id不一样外.

然后启动两台机器上的 mysql库:

在库内执行下面的代码:

change master to 
master_host='192.168.159.136',
master_port=3306,
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000017',
master_log_pos=154;

这句代码的意思是把这台mysql的从机设置主机信息,master_log_file 这个文件的配置要和上面主机中执行  show master status中显示的值一样.

配置完成之后执行下面的代码:

    show slave status;

   出现下面的信息则说明集群配置成功。

    


然后我们在通过 windows中的 navicat环境测试三台机器集群的情况:

在136这台机器上新建一个数据库表并且向其中加入数据:


然后可以看到过没多久其他另外两台机器上出现相同的表和相同的数据:

135当中


137当中:



可以查看binlog信息:

show binlog events in 'mysql-bin.000017';

show variables like '%log%';









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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值