/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. 《The C Programming Language》学习笔记

    第五章:指针和数组 单目运算符的优先级均为2,且结合方向为自右向左. *ip++; // 将指针ip的值加1,然后获取指针ip所指向的数据的值 (*ip)++; // 将指针ip所指向的数据的值加1 ...

  2. storm1.2.2集群搭建

    一.下载.解压 二.配置安装 1.配置分配 1.zk的集群分别在:192.168.100.143  192.168.100.144  192.168.100.145 三台服务器上, zk集群的安装说见 ...

  3. [百度]将ftp添加到本地映射磁盘的方法

    在桌面上鼠标双击“计算机”,进入“计算机”窗口 2 在“计算机”窗口中,选择“映射网络驱动器” 3 进入“映射网络驱动器”窗口 4 设置盘符,可以使用默认,也可以自己手动设置 5 在“映射网络驱动器” ...

  4. android 自动化测试 ---python wrapper(python 包装)

    关于有道云笔记复制的东西不能直接copy到博客园,可以选择使用txt文件做个媒介 1.appium 2.monkeyrunner 3.uiautomator2 前面两种种方式都要加载androidsd ...

  5. 小菜鸟之oracle触发器

    1.触发器说明 触发器是一种在事件发生时隐式地自动执行的PL/SQL块,不能接受参数,不能被显式调用 2.触发器类型 根据触发器所创建的语句及所影响的对象的不同,将触发器分为以下3类 (1)DML触发 ...

  6. Flask Bug记录之JinJa2.exceptions.UndefinedError: 'sqlite3.Row object' has no attribute 'get'

    源码 py文件定义db的工厂函数如下 def get_db(): if "db" not in g: g.db = sqlite3.connect( current_app.con ...

  7. 网络流Dinic--模板

    #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <cstdio>//sprintf islower isupp ...

  8. 内存溢出,内存泄漏,CPU溢出区别

    内存溢出 out of memory,就是你要的内存空间超过了系统实际分配给你的空间,此时系统相当于没法满足你的需求,就会报内存溢出的错误 内存泄漏是指你向系统申请分配内存进行使用(new),可是使用 ...

  9. 消息服务百科全书——为什么使用MQ

    为什么要使用MQ?有如下几个好处: 解耦 在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一接口.这允许你独 ...

  10. django+uwsgi+nginx: websock 报502/400

    耽搁了近2个月,终于解决了,主要是nginx/uwsgi/django相关的配置: 一.django工程settings.py,添加 WEBSOCKET_FACTORY_CLASS = "d ...