/usr/share/mysql/charsets/
服务器
ip
操作系统
mysql
Mysql_master
192.168.188.11
centos7
5.7
Mysql_slave1
192.168.188.12
centos7
5.7
Mysql_slave2
192.168.188.13
centos7
5.7
一、安装mysql5.7
1、配置YUM源
# 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源 shell> yum localinstall mysql57-community-release-el7-.noarch.rpm
检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
2、安装MySQL

shell> yum install mysql-community-server
3、启动MySQL服务
shell> systemctl start mysqld
查看MySQL的启动状态
shell> systemctl status mysqld
4、开机启动
shell> systemctl enable mysqld shell> systemctl daemon-reload
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -u root -p mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:
6、登录mysql
mysql -u root -p
7、设置允许访问的ip
如果你想允许用户root从ip为192.168.188.62的主机连接到mysql服务器,并使用root作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.188.62'IDENTIFIED BY 'password' WITH GRANT OPTION;
8、刷新
flush privileges;
 
9、防火墙开启
//1、开启端口3306
firewall-cmd --zone=public --add-port=/tcp --permanent
//2、重启防火墙
firewall-cmd --reload
//3、查看已经开放的端口:
firewall-cmd --list-ports
 
以上安装需要在每台服务器上进行!!!
 
Master的配置
1、配置内容
在/etc/my.cnf文件中添加以下配置项
# 设置server_id,一般设置成IP
server_id=
# 需要备份的数据库
binlog-do-db=dfs
# 不需要备份的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
# 开启二进制日志功能,名字自己起,主服务器必须开启
log-bin=master-bin
2、重启mysql
service mysqld restart
3、登陆mysql数据库,设置用于从数据库登陆的远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.188.12'IDENTIFIED BY 'password' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.188.13'IDENTIFIED BY 'password' WITH GRANT OPTION;
flush privileges;
4、查看是否设置成功
mysql> select user,host from mysql.user;
4、查看master状态
mysql> show master status\G;
注意File,Position两个字段,一会配置从服务器要用到
5、想要重新配置master,并清零position,可以使用下边命令。
mysql> reset master;
Slave1的配置
1、配置内容
在/etc/my.cnf文件中添加以下配置项
# 设置server_id,一般设置成IP
server_id=
# 需要备份的数据库
binlog-do-db=dfs
# 不需要备份的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
# 开启二进制日志功能,也可以不开启,如果这个slave不作为master
log-bin=slave1-bin
 
2、重启mysql,登陆mysql,关联master
service mysqld restart
 
先停止(每次设置slave都需要先停止)
mysql> stop slave;
 
设置slave
mysql> change master to master_host='192.168.188.11', master_user='root', master_password='password',master_log_file='master-bin.000002', master_log_pos=;
 
注意此处的master_log_file,master_log_pos分别是master中File,Position两个字段的值。
 
3、查看slave的状态
mysql> show slave status\G;
 
开启slave
mysql> start slave;
再次查看状态,应该变成yes
mysql> show slave status\G;
Slave2的配置
首先你需要知道Slave的配置和Slave1的配置方式是完全相同的,只一些配置的内容不同
1、配置内容
在/etc/my.cnf文件中添加以下配置项
# 设置server_id,一般设置成IP
server_id=
# 需要备份的数据库
binlog-do-db=dfs
# 不需要备份的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
# 开启二进制日志功能,也可以不开启,如果这个slave不作为master
log-bin=slave2-bin
2、重启mysql,登陆mysql,关联master
service mysqld restart
 
先停止(每次设置slave都需要先停止)
mysql> stop slave;
 
设置slave
mysql> change master to master_host='192.168.188.11', master_user='root', master_password='password',master_log_file='master-bin.000002', master_log_pos=;
 
注意此处的master_log_file,master_log_pos分别是master中File,Position两个字段的值。
 
3、查看slave的状态
mysql> show slave status\G;
 
开启slave
mysql> start slave;
再次查看状态,应该变成yes
mysql> show slave status\G;
 
这样就已经可以了,在主服务器测试下,所有操作都会同步到从服务器

centos7部署mysql5.7一主多从的更多相关文章

  1. centos7部署mysql-5.7

    目录 一.环境声明 二.程序部署 三.更改初始密码 一.环境声明 [mysql-Server] 主机名 = host-1 系统 = centos-7.3 地址 = 1.1.1.1 软件 = mysql ...

  2. centos7 部署mysql-5.7.20

    一.系统环境 系统:CentOS Linux release 7.5 mysqlb进制包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 1)依赖包安装 yum ...

  3. Centos7.5部署MySQL5.7基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)

    之前已经详细介绍了Mysql基于GTID主从复制的概念,原理和配置,下面整体记录下MySQL5.7基于GTID主从复制+并行复制+增强半同步复制+读写分离环境的实现过程,以便加深对mysql新特性GT ...

  4. CentOS7 部署zabbix4.2

    zabbix我就不介绍了吧,但是可能又有些小白,我还是介绍一下吧,嘿嘿! 一:什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提 ...

  5. CentOS7部署Nginx

    CentOS7部署Nginx 1.准备工作 Nginx的安装依赖于以下三个包,意思就是在安装Nginx之前首先必须安装一下的三个包,注意安装顺序如下: 1 SSL功能需要openssl库,直接通过yu ...

  6. CentOS7.3+MySQL5.7+Apache2.4+PHP7.1+phpMyAdmin4.7+JDK1.8+SVN1.6+Jenkins2.1环境搭建

    CentOS7.3+MySQL5.7+Apache2.4+PHP7.1+phpMyAdmin4.7+JDK1.8+SVN1.6+Jenkins2.1环境搭建 1.安装CentOS7.3虚拟机安装说明: ...

  7. Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  8. Linux学习-基于CentOS7的MySQL5.7的GTID复制

    一.GTID复制简介 GTID (global transaction id)全局事务标识符,MySQL5.6版本开始支持,GTID复制不像传统的复制方式(导步复制.半同步复制)需要找到binlog和 ...

  9. CentOS7部署GeoServer

    CentOS7部署GeoServer 一.安装JDK81.下载jdk1.8 wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a ...

随机推荐

  1. 内存泄漏之malloc替换方法

    //内存泄漏之malloc替换方法 //内存泄漏之malloc替换方法#include "stdio.h"#include "stdlib.h" /*文件路径名 ...

  2. 自己动手写一个服务网关-java

    自己动手写一个服务网关 原文链接:https://www.cnblogs.com/bigben0123/p/9252444.html 引言 什么是网关?为什么需要使用网关? 如图所示,在不使用网关的情 ...

  3. 【LOJ】#2239. 「CQOI2014」危桥

    LOJ#2239. 「CQOI2014」危桥 就是先把每条边正着连一条容量为2的边,反着连一条容量为2的边 显然如果只有一个人走的话,答案就是一个源点往起点连一条容量为次数×2的边,终点往汇点连一个次 ...

  4. # 滚动Hash

    滚动Hash 假设字符串\(C=c_1*c_2*...c_m\),定义Hash函数\(H(C)=(C_1*b^{m-1}+C_2*b^{m-2}+...C_m*b^{0})mod\; h\) 从k开始 ...

  5. scrapy 框架持久化存储的三个方法 存入 mysql 文件 redis

    这里就不做详细讲解了 毕竟不是一句两句能说的清楚,所以我把代码和注释放到了这里 谢谢! import pymysql from redis import Redis # 写入mysql class W ...

  6. 手机号码归属地查询API

    <?php function object_array($array){ if(is_object($array)){ $array = (array)$array; } if(is_array ...

  7. git 公钥的使用

    码云 https://gitee.com/ ,之前在教程视频中看到使用 码云  今天自己也撸了一把.第一次使用.打开官方网站看到免费开通企业版,就点了这个原本以为需要填写很多资料,实际操作下来,就一个 ...

  8. Git 集成 Araxis Merge 作为比较和合并GUI工具的配置 参考自https://www.kancloud.cn/leviio/git/369125

    Git 集成 Araxis Merge Win10下修改git全部配置文件方法Git 集成 Araxis Merge 作为比较和合并GUI工具的配置 那global对应的 ,gitconfig文件在哪 ...

  9. ubuntu 一键搭建VNN

    #!/bin/bash if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this ...

  10. 网络编程之NIO

    传统的BIO(Blocking IO)的缺点: 1.基于阻塞式IO建立起来的,导致服务端一直阻塞等待着客户端发起请求,如果客户端不发起,服务端的的业务线程会一直存. 2.弹性伸缩能力差,线程数和客户端 ...