/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. redis通用命令

    1.keys pattern 含义:查找所有符合给定模式(pattern)的key keys * 遍历所有key keys he[h-l]* 遍历以he开头,第三个字符为h-l之间的所有key key ...

  2. 【LOJ】#3098. 「SNOI2019」纸牌

    LOJ#3098. 「SNOI2019」纸牌 显然选三个以上的连续牌可以把他们拆分成三个三张相等的 于是可以压\((j,k)\)为有\(j\)个连续两个的,有\(k\)个连续一个的 如果当前有\(i\ ...

  3. Kubernetes---资源控制器

    ⒈引用 Pod的分类 自助式pod 只要pod退出了,此类型的pod不会被重建,该pod没有管理者,死亡后不会被拉起. 控制器管理的pod[生产环境中大多数都是选择控制器去管理pod] 在控制器的生命 ...

  4. MySql设计表中的create_time和update_time字段

    一般create_time和update_time字段的类型为datetime类型,长度为0

  5. 【Python基础】06_Python中的函数

    1.函数的定义 def 函数名(): 函数封装的代码 …… 注:函数前后应该保留两个空行 2.函数的使用 直接使用函数名()调用函数块. def say_hello(): print("He ...

  6. 用shell脚本安装MySQL-5.7.22-官方版本

    Install_CentOS7_MySQL57_binary.sh #!/bin/bash MySQL_Package=mysql-5.7.22-linux-glibc2.12-x86_64.tar. ...

  7. OBB碰撞

    OBB碰撞检测,坐标点逆时针 class OBBTest extends egret.DisplayObjectContainer { private obb1:OBB; private obb2:O ...

  8. element-ui组件dialog遇到form

    Vue.js似乎成了一种潮流. UI框架element-ui也跟着成了一种潮流,不过得承认,至少我个人还是非常认可的,element-ui做的是真不错. 用到element-ui,那么在dialog中 ...

  9. Ubuntu18.04安装MySQL与默认编码设置

    安装 打开终端直接开始,编码配置方法在后面 #通过apt更新包索引 sudo apt update #按照默认软件包安装 sudo apt install mysql-server #运行安全脚本 s ...

  10. 检查一个string是否包含List<string>中的任意一个

    bool b = listOfStrings.Any(s=>myString.Contains(s)); 应用在where子句中的示例: //获取路径 var groupPaths = grou ...