mysql主从配置的搭建(master和slave模式,mysql8的版本)

前言:本人第一次在工作中第一次遇到这种服务器的搭建,会和众多小白一样,那就是百度出来的内容的质量,大家心里都有数,

一个大概一个小时就可以完成的,我足足搞了六个小时,气的不行,我决定写一个完整版的给大家,让大家不但可以很快搭建完成,而且能够理解每段配置的意思,做到我觉得良心之作,希望大家都能够学到知识和完成任务

约定:147是从库,148是主库的服务器

1.确保服务器的防火墙是关闭的

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
service iptables status  #查看服务器状态

2.在两台机器分别搭建mysql

  2.1. 下载MySQL Yum Repository

   下载地址

2.2.把下载的tar文件传到服务器上,任何位置都可以,把tar文件解压

    tar -xvf 文件名

执行以下的命令,mysql需要的服务(直接复制即可)

yum install mysql-community-{server,client,common,libs}-* --exclude='*minimal*'

修改:/etc/my.cnf 中数据目录 datadir

datadir=/data/mysql  (这个就是你mysql的安装目录,按照公司的要求去安装)

service mysqld start 启动并初始化

 /var/log/mysqld.log 查看密码(linux的mysql的密码默认在这个文件下面)

mysqladmin -uroot -p password 'newpassword'   修改密码  第一个password 是上个命令里面的文件看到的密码,第二个就是新密码

就这样mysql安装完成了,全局基本都可以粘贴复制

3.修改主库的my.conf 文件

vim /etc/my.cnf
# [mysqld] 添加服务ID,bin log配置,MySQL8 默认是开启bin log的
server-id=1    #服务器 id  主和从库不能就行,随便输入 
log-bin=mysql-bin   #二进制文件存放路

参数的介绍

# esc 退出编辑模式,shift+: 输入wq 保存退出,:q!退出不保存
# 重启MySQL服务
service mysqld restart 

4. 创建master 主从同步用户(这一步比较关键啊,一旦错了,最后可能导致Slave_IO_Running: Connecting)

# 创建用户 

CREATE USER 'ecmsSync'@'%' IDENTIFIED WITH mysql_native_password BY 'Ecms@2019@'; 
# 赋予权限 

GRANT REPLICATION SLAVE ON *.* TO 'zmhslave'@'%'; 
#生效 

flush privileges 

 # 显示当前master状态 , file 和 position 从库配置使用 (需要记住哦)

show master status;

自此,master搭建完成

 4.从库my.conf 配置

vim /etc/my.cnf
server-id=2    #服务器 id 保证唯一性 

4.1设置slave

执行之前需要先停止slave

stop slave
change master to master_host='10.144.100.148',master_user='ecmsSync',master_password='Ecms@2019',master_log_file='mysql-bin.000005',master_log_pos=1413;

里面的字段的一些解释:master_host:主数据库的ip地址,master_user:即上一步搭建的授权的用户名,master_log_file,master_log_pos在主库执行时候对应的图

5启动slave

start slave    
# 停止 stop slave
# 重置 reset slave

6.查看状态

show slave status\G

# 表示启动成功
# Slave_IO_Running: Yes
# Slave_SQL_Running: Yes
# 参数详解:https://www.jianshu.com/p/3c4d7c6c6205

 7可去master库去添加一个库,在slav下面看是否也有

CREATE DATABASE Carry1;

#查看数据库
SHOW DATABASES;

猜你喜欢

转载自blog.csdn.net/oldshaui/article/details/86303525