/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. [Cometoj#3 B]棋盘_状压dp

    棋盘 题目链接:https://cometoj.com/contest/38/problem/B?problem_id=1535 数据范围:略. 题解: 因为行数特别小,所以$dp$的时候可以状压起来 ...

  2. PL/SQL developer 11.0注册码

    PL/SQL developer 11.0注册码:product key:lhsw85g33x4p7leqk63hy8q28ffxzzvbxlserial No:193085password:xs37 ...

  3. oracle - for in loop 循环更新

    用法:目的更新B表的数据 查询出A表的字段,命名为表1.然后更新B表 BEGIN FOR 表1 IN ( SELECT [匹配字段],[更新字段] FROM A表 ) loop UPDATE B表 S ...

  4. 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功

    方案一: function writeData($filepath, $data) { $fp = fopen($filepath,'a'); do{ usleep(100); }while (!fl ...

  5. 关于JS原型以及原型链、instanceof的一些理解

    一.JS原型 首先要区分两个概念 1.构造函数 2.实例:由构造函数通过new方式创建出来的就是实例 <script> function Foo() { } var f = new Foo ...

  6. Go语言学习之main包的讲解

    ### Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 func main(){ fmt.Println("hellow ...

  7. javascript获取当前用户访问的宽带IP地址

    javascript获取当前用户访问的宽带IP地址 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></sc ...

  8. vue—组件通信,ref

    组件通信: 父组件传递子组件: 把需要的数据 传递给 子组件的数据,以数据绑定(v-bind)的形式,传递到子组件内部,供子组件使用,缩写(:) 动态传递: 第一步:在父组件中的子组件标签中进行动态的 ...

  9. JAVA生成验证码代码

    生成base64格式图片验证码 /** * 验证码的候选内容 */ private char codeSequence[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', ...

  10. MVC授权不通过之后不执行任何自定义ActionFilter

    如下一个Action [Authorize] [F1]//自定义过滤器,继承自ActionFilter public ActionResult Index() { return View(); } 如 ...