mysql5.7 + vmware fusion 10 + centos7 完成主从复制同步功能

1、安装mysql

首先在CentOS中下载rpm包,并安装本地mysql源

下载rpm包:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm --no-check-certificate
安装mysql源:yum localinstall mysql80-community-release-el7-3.noarch.rpm

通过 yum localinstall 安装mysql源,可以帮助我们解决本地rpm包的依赖问题。

验证是否安装成功命令:yum repolist all | grep mysql

修改默认安装版本为5.7,初始安装成功后Community server 默认是8.0。

vim /etc/yum.repos.d/mysql-community.repo,将5.7下的enabled设置为1,8.0的enabled设置为0。

安装mysql   yum install mysql-community-server,下载过程时间较长需等待一段时间。

2、启动mysql,并查看状态

systemctl start mysqld 启动mysql

systemctl status mysqld 查看mysql状态

systemctl restart mysqld 重启mysql

如下图表示启动成功。

3、查看初始密码,初始登录。

查看初始密码  grep 'temporary password' /var/log/mysqld.log,如下图行尾。

首次登录 

mysql -uroot -p  回车后输入 刚刚查询到的原始密码,成功进入mysql。

4、修改登录密码

由于数据库密码默认规则为最小长度为8,密码的验证强度等级为MEDIUM,所以为了方便自己测试使用,希望将数据库密码设置的简单一点,可以修改一下密码策略

set global validate_password_policy=0;    设置0或者LOW,校验级别最低,只校验密码长度,只要长度跟validate_password_length一样即可

set global validate_password_length=1; (这里设置1,小于4会按照默认最小值4来设置)

SHOW VARIABLES LIKE 'validate_password%'; 查看密码规则。

如下图已修改。

然后执行修改密码命令    alter user root@localhost identified by '新密码';

最后通过 flush privileges; 刷新权限,立刻生效。

5、实现主从复制,需要系统的关闭防火墙。

systemctl stop iptables  (stop 换成 status 就是查看状态)

Systemctl stop firewalld

6、在主库虚拟机全部设置好后,通过虚拟机克隆出多个虚拟机。

7、配置主库信息

    1)修改 my.cnf文件,vi  /etc/my.cnf ,新增如下配置:

log_bin=mysql-bin

# 注意: server-id 每台服务器不能相同       

server-id=1

sync-binlog=1

binlog_format=ROW

#忽略系统数据库

binlog-ignore-db=information_schema

binlog-ignore-db=mysql

binlog-ignore-db=performation_schema

binlog-ignore-db=sys

#relay_log配置

relay_log=mysql-relay-bin

log_slave_updates=1

#禁止relay_log在线程执行完后被自动删除

relay_log_purge=0

 

         修改后配置文件后需重启mysql   systemctl restart mysqld 

    2)然后进入mysql     mysql -uroot -p   

         执行以下命令(密码为root)

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

         grant all privileges on *.* to 'root'@'%' identified by 'root';

         flush privileges;

   3) 检查开启主从配置是否成功

         show master status;

        

        记录 file 及 position,配置从库时需要使用。

8、配置从库信息

1)由于是克隆的虚拟机,mysql的 server-uuid是相同的,需要首先修改两个从库的该参数,否则主从复制会失败,uuid在不同的服务器需要唯一。

cd /var/lib/mysql/

vi auto.cnf

修改为不同的server-uuid即可。

2)修改从库服务器的my.cnf

 

修改后配置文件后需重启mysql   systemctl restart mysqld 

3)然后进入mysql     mysql -uroot -p   

      执行以下命令    

      change master to master_host=‘192.168.92.128’,

      master_port=3306,

      master_user='root',

      master_password='root',

      master_log_file='mysql-bin.000002',   (以上记录的file名称)

      master_log_pos=869;(以上记录的position位置)

      启动配置,检查结果。

      start slave;

      show slave status; 

从库状如下表示主从配置成功。

     

最后测试,在主库新建表插入数据,从库查询表数据,可以查到相同的结果表示主从复制同步配置成功。

9、半同步复制过程

1)主库执行:

Install plugin rpl_semi_sync_master soname 'semisync_master.so';

show variables like '%semi%';

Set global  rpl_semi_sync_master_enabled=1;

Set global  rpl_semi_sync_master_timeout=1000;

2)从库执行:

Install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

show variables like '%semi%';

Set global  rpl_semi_sync_slave_enabled=1;

stop slave;

start slave;

执行过程如下图

3)测试是否配置成功

先在主库插入一条数据,在两个从库查询数据是否同步。

4)查看日志:

cd /var/log/;

cat mysqld.log;

从日志中可以看到半同步复制配置成功。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值