部署主从数据库

前提环境

此处使用的镜像包:CentOS-7-X86_64-DVD-1810.iso镜像   ##不是只能用这一种,自己选择

在VMware上准备两台虚拟机,分别作为mysql1节点和mysql2节点. 下面是VMware上虚拟机的基础配置。

mysql1节点对应主节点
mysql1节点对应从节点

一、基本配置

修改主,从节点主机名

主节点:

hostnamectl set-hostname mysql1

bash        


从节点:

hostnamectl set-hostname mysql2

bash

##修改后重新连接终端 

##MobaXterm中按ctrl+d 退出 按R重新登陆 

##SecureCRTPortable中按ctrl+d 退出 按回车重新登陆 

##直接bash执行也可,不过如果执行脚本可能报错

##su也可以使之生效

配置虚拟机的虚拟网卡  

修改主机网卡配置文件,我的网卡为NAT模式      ## 什么模式都可以,可以自己选择

主节点:

vi /etc/sysconfig/network-scripts/ifcfg-ens33                #ifcfg-需要配置的网卡名

BOOTPROTO=dhcp            #修改为static静态IP

ONBOOT=no                 # 修改为yes,设为开机自启

#文件最后添加

IPADDR=192.168.200.128           #配置的IP地址,根据虚拟网络编辑器的网段来配置

NETMASK=255.255.255.0            #子网掩码,也可以用PREFIX=24来表示

GATEWAY=192.168.200.2            #网关

DNS1=114.114.114.114             #DNS域名解析

DNS2=8.8.8.8                     #备用DNS域名解析

# :wq (保存退出)

2.配置好后重启网络服务,使配置生效

systemctl restart network              #第一种重启网络的方法
service network restart                  #第二种重启网络的方法

从节点:

vi /etc/sysconfig/network-scripts/ifcfg-ens33                #ifcfg-需要配置的网卡名

BOOTPROTO=dhcp            #修改为static静态IP

ONBOOT=no                 # 修改为yes,设为开机自启

#文件最后添加

IPADDR=192.168.200.129           #配置的IP地址,根据虚拟网络编辑器的网段来配置

NETMASK=255.255.255.0            #子网掩码,也可以用PREFIX=24来表示

GATEWAY=192.168.200.2            #网关

DNS1=114.114.114.114             #DNS域名解析

DNS2=8.8.8.8                     #备用DNS域名解析

# :wq (保存退出)

2.配置好后重启网络服务,使配置生效

systemctl restart network              #第一种重启网络的方法
service network restart                  #第二种重启网络的方法



#可能出现的问题:网络重启报错先停掉NetworkManager
systemctl stop NetworkManager

#也可以直接将NetworkManager,disable掉
 

二、基本环境配置

 主从节点关闭防火墙,selinux

systemctl stop firewalld

systemctl disable firewalld

vi /etc/selinux/config   

将enforcing改为disabled

setenforce 0

配置yum源

主节点:

cd /etc/yum.repos.d
ls
mkdir bak
mv *.repo bak
ls
vi local.repo
示例内容如下:
[centos]
name= centos
baseurl=file:///mnt/centos
enabled=1
gpgcheck=0
mkdir /mnt/centos
mount /dev/cdrom /mnt/centos
yum clean all
yum repolist

从节点:

cd /etc/yum.repos.d
ls
mkdir bak
mv *.repo bak
ls
vi local.repo
##从节点配置的为ftp的yum源

[centos]
name= centos
baseurl=ftp://192.168.200.128/centos
enabled=1
gpgcheck=0


mkdir /mnt/centos
mount /dev/cdrom /mnt/centos

yum clean all
yum repolist

 安装 ,配置ftp 服务 

yum install -y vsftpd
systemctl start vstpd

修改配置文件
vi /etc/vsftpd/vsftpd.conf

添加一行代码

anon_root=/mnt     

##添加位置不固定,可以尝试在现有配置项的相关部分或者文件末尾添加这行代码。这样做可以更容易地维护和管理配置文件。

以上是在/etc/vsftpd/vsftpd.conf文件中添加anon_root=/mnt,添加的这一行是为了指定FTP服务器的匿名用户的根目录为/mnt,这个位置是可以随意指定的。

systemctl restart vsftpd

   设置主机映射  

主节点:

vi /etc/hosts

192.168.200.128 mysql1    ##主节点的ip  主节点的主机名

192.168.200.129 mysql2    ##从节点的ip  从节点的主机名

从节点:

scp 192.168.200.128:/etc/hosts /etc 

##  以上命令为从主节点复制/etc/hosts文件到从节点的/etc目录下,并覆盖原来的hosts文件

## 192.168.200.128为主节点的IP 

三、主从数据库安装与配置

1、安装数据库

主节点:

yum install -y mariadb mariadb-server 
systemctl start mariadb

初始化数据库,设置密码

mysql_secure_installation

直接敲enter键

输入两次相同的想设置的密码

除了此处输入n ,其他均输入y,如果输入 y为禁止远程登录,就不可以使用远程连接工具了

从节点:

yum install -y mariadb mariadb-server
systemctl start mariadb

初始化数据库,设置密码   ##此处与主节点相同

mysql_secure_installation

此处输入 n ,同上

2、修改配置文件

主节点:
vi /etc/my.cnf

在[mysqld]下面添加三行,示例如下
log_bin=mysql_bin        
binlog_ignore_db =mysql
server_id=128

重启数据库

systemctl restart mariadb

从节点:

vi /etc/my.cnf

在[mysqld]下面添加三行,示例如下
log_bin=mysql_bin        
binlog_ignore_db =mysql
server_id=129

重启数据库

systemctl restart mariadb

 3、登录数据库,授权

主节点:

mysql -uroot -p000000

grant all privileges on *. * to root@'%' identified by "000000";

##以上这行代码的作用是授予用户 root 在任何主机上对所有数据库的所有权限,并使用密码 "000000" 进行身份验证。% 表示允许从任何主机连接


grant replication slave on *. * to 'user'@'mysql2' identified by "000000";

##这行代码的作用是授予用户 user 在 mysql2 主机上进行复制从属的权限,并使用密码 "000000" 进行身份验证。

重启数据库

systemctl restart mariadb

从节点:

登录数据库

mysql -uroot -p000000

change master to master_host='mysql1',master_user='user',master_password='000000';

将当前数据库实例配置为一个从属实例,从名为 mysql1 的主数据库实例复制数据。

这行代码的含义如下:

  • change master to:表示要修改主从复制的配置。
  • master_host='mysql1':指定主数据库的主机名为 mysql1
  • master_user='user':指定用于连接主数据库的用户名为 user
  • master_password='000000':指定用于连接主数据库的密码为 000000

需要注意的是,这行代码需要在从数据库实例上执行,并且需要在开始复制之前进行配置。在执行这行代码之后,你还需要执行 start slave; 命令来启动从数据库实例的复制进程。

start slave;   ###启动从数据库实例的复制进程

show slave status \G   ###检查从数据库实例的复制状态

Slave_IO_Running: Yes            Slave_SQL_Running: Yes

可以看到以上两处均为Yes则配置数据库主从集群成功。

 

 

四、验证数据库主从服务

主节点:

mysql -uroot -p000000

create database test;

use test;

create table school(id int not null primiary key, name varchar(50),addr varchar(255));

insert into school values(1, 'beijingdiyigaozhong', 'beijing');

select * from school;

从节点:

show databases;

use test;

show tables;

select * from school;

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值