MySQL数据库主从的安装搭建方法

环境准备

准备两台虚拟机或者云服务器,作为数据库的主节点和从节点 ​

第一步  修改主机名host并配置主机映射

将两台主机分别修改为mysql1和mysql2,修改命令如下:

[root@localhost ~]# hostnamectl set-hostname mysql1

[root@localhost ~]# hostnamectl set-hostname mysql2

两个节点配置/etc/hosts文件,修改为如下: #ip地址应改成自己主机对应的ip

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.30.11.12  mysql1

172.30.11.13  mysql2

第二步   两台主机都关闭防火墙和SELinux服务

关闭防火墙命令如下:

[root@mysql1 ~]# systemctl stop firewalld        //关闭防火墙

[root@mysql1 ~]# systemctl disable firewalld    //将防火墙设置开机不自启

关闭selinux服务

进入到 /etc/selinux/config 目录将selinux的状态设置为disabled

[root@mysql1 ~]# vi /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

[root@mysql1 ~]# setenforce 0    //将selinux的修改生效

  // mysql2主机配置操作步骤与mysql1一致

第三步  两台主机都配置yum源

如果是本地的VMware虚拟机搭建的,可以自己去配置centos7镜像的yum源,或者自己配置阿里云的镜像源,或者购买云服务器,会有默认配置好的yum源,目的就是为了能够下载mariadb数据库。下面我以本地的VMware虚拟机搭建配置镜像源为例:

[root@mysql1 ~]# cd /etc/yum.repos.d/
[root@mysql1 ~]# mv * /media/
[root@mysql1 ~]# cat local.repo

[mariadb]
name = MariaDB
baseurl = http://mirrors.ustc.edu.cn/mariadb/yum/10.2/centos7-amd64/
gpgkey= http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaD
gpgcheck=1

[root@mysql1 ~]# yum clean all    //清除yum源的缓存

 // mysql2主机配置操作步骤与mysql1一致

第四步  安装mariadb,并初始化数据库,命令如下

[root@mysql1 ~]# yum install -y mariadb mariadb-server    //安装mariadb数据库服务
[root@mysql1 ~]# systemctl start mariadb                  //开启mariadb
[root@mysql1 ~]# systemctl enable mariadb                 //将mariadb设置开机自启
[root@mysql1 ~]# mysql_secure_installation                //初始化数据库

// mysql2主机配置操作步骤与mysql1一致

第五步  修改配置文件

mysql1节点和mysql2节点都要配置,并且server_id不能相同

主节点配置:
[root@mysql1 ~]# cat /etc/my.cnf

[mysqld]
log_bin = mysql-bin                       #记录操作日志
binlog_ignore_db = mysql                  #不同步mysql系统数据库
server_id = 18                            #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如172.16.51.18,server_id就写18

配置完后重启mariadb
[root@mysql1 ~]# systemctl restart mariadb


从节点配置:
[root@mysql2 ~]# cat /etc/my.cnf

[mysqld]
log_bin = mysql-bin  
binlog_ignore_db = mysql 
server_id = 19

[root@mysql2 ~]# systemctl restart mariadb

第七步  开放主节点mysql1的数据库权限

配置主节点mysql1
[root@mysql1 ~]# mysql -uroot -p123456

MariaDB [(none)]> grant all privileges  on *.* to root@'%' identified by "123456";
//允许所有用户都可以连接

MariaDB [(none)]> grant replication slave on *.* to 'user'@'mysql2' identified by '123456';
//在主节点mysql1数据库上创建一个user用户让从节点mysql2连接,并赋予从节点同步主节点数据库的权限


配置从节点mysql2同步主节点
[root@mysql2~]# mysql -uroot -p123456

MariaDB [(none)]>  change master to master_host='db1',master_user='user',master_password='123456';

配置完毕主从数据库之间的连接信息之后,开启从节点服务。使用命令show slave status\G;并查看从节点服务状态,如果Slave_IO_Running和Slave_SQL_Running的状态都为YES,则从节点服务开启成功。查询结果如图所示。

MariaDB [(none)]> start slave;

MariaDB [(none)]> show slave status\G;
MySQL数据库主从的安装搭建方法

MySQL数据库主从的安装搭建方法

 第八步  验证数据库主从

先在主节点mysql1的数据库中创建库test,并在库test中创建表company,插入表数据。创建完成后,查看表company数据,如下所示。

MySQL数据库主从的安装搭建方法

然后在这时从节点mysql2的数据库就会同步主节点数据库创建的test库,可以在从节点查询test数据库与表company,如果可以查询到信息,就能验证主从数据库集群功能在正常运行。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4106

(0)
郭靖的头像郭靖
上一篇 2022年6月8日 下午1:30
下一篇 2022年6月8日 下午2:37

相关推荐

  • KeyDB: 一款比 Redis 性能更强的分布式数据库

    eyDB 是一个开源的,高性能的,多线程的内存键值存储。它是流行的 Redis 数据库的分支版本,完全兼容 Redis 命令和数据类型。KeyDB 提供了很多的高级功能,如 Lua 脚本,LRU 淘汰和命令的并行执行。它是为企业环境构建的,提供高可用性和集群支持。KeyDB 也针对速度进行了优化,基准测试表明它是可用的键值存储之一。总的来说,KeyDB 是内…

    2023年6月28日
    38100
  • SQL Server 2008 R2双机热备之发布、订阅实现实时同步实践过程

    一、复制的功能概述          SQL Server 复制功能实现了主从库的读写分离,从而将主库的压力分解掉,主库就主要负责数据的增删改等,而从库主要负责查询。另外有了主、从库,也给生产数据增加了一层安全性,即备份。万一主库出了什么问题,从库却还在。       …

    2023年2月10日
    98000
  • Mysql报错:1030, ‘Got error 28 from storage engine‘的解决方法(附相关解决脚本)

    问题 客户反应过来网站打开是出现错误,错误现象如下: 尝试登录phpMyadmin链接,显示如下错误 连接数据库相关表格显示以下错误 解决方法 经过判断,是服务器系统盘满了 找到我们的脚本,运行后清理c盘(https://www.cnaaa.net/archives/4743) 还可以设置一个定时任务,定期清理,防止再遇到这种问题,打开”计算机管理“,找到“…

    2022年6月15日
    81100
  • 无法作为数据库主体执行,因为主体 “dbo“ 不存在、无法模拟这种类型的主体,或您没有所需的权限

    问题描述: 最近正在测试数据库复制,想删除发布服务器的发布数据库时,突然提示这个:无法作为数据库主体执行,因为主体 “dbo” 不存在、无法模拟这种类型的主体,或您没有所需的权限。已将数据库上下文更改为 “AdventureWorks2008R2”。 (Microsoft SQL Server,错误: 15517) 原因分析: 用附件文件和组的方法的还原数据…

    2023年2月18日
    31600
  • Centos7下配置mysql8.0.20

    mysql8.0.20安装完毕后使用默认密码登陆是无法进行操作的,需要修改默认密码才可以。 我们根据提示,使用ALTER USER修改密码,修改完成后,使用flush privileges; 命令刷新。 ALTER USER root@’localhost’ IDENTIFIED BY ‘Zhangsan@123’; 配置远程登录 mysql安装完成后,默认…

    2022年12月7日
    35600

回复 mysql的主从延迟问题主要原因及解决_3A网络资讯门户-云计算、区块链、大数据、网络安全等领域最新资讯

您的电子邮箱地址不会被公开。 必填项已用 * 标注

评论列表(1条)

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信