前言:本人第一次在工作中第一次遇到这种服务器的搭建,会和众多小白一样,那就是百度出来的内容的质量,大家心里都有数,
一个大概一个小时就可以完成的,我足足搞了六个小时,气的不行,我决定写一个完整版的给大家,让大家不但可以很快搭建完成,而且能够理解每段配置的意思,做到我觉得良心之作,希望大家都能够学到知识和完成任务
约定: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 从库配置使用 (需要记住哦)
自此,master搭建完成
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;