• 部署主从数据库


            大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力。今天总结一下利用MySQL主从配置,实现读写分离,减轻数据库压力。

    优点:方便做数据的热备份;架构扩展更容易;读写分离,使数据库能支撑更大的并发

     


    部署主从数据库

    准备两台虚拟机:mysql1、mysql2 、网络配置、yum源

    修改主机名:hostnamectl set-hostname mysql1

    刷新shell命令行: bash

    查看主机信息:hostnamectl

    关闭防火墙和selinux服务:systemctl stop firewalld ; setenforce 0

    配置/etc/hosts 文件 (mysql2)      

    一、安装数据库服务、启动、并设置开机自动启动 (同mysql2)

     yum -y install mariadb mariadb-server

     systemctl start/enable mariadb

    二、初始化数据库前必须重启数据库   (同mysql2)

     mysql_secure_installation

    三、修改mysql1节点的数据库配置文件/etc/my.cnf、重启数据库服务,并进入数据库(同mysql2)

    修改、并加入三行: vi /etc/my.cnf   

     

    重启数据库: systemctl restart mariadb

    登陆: mysql -uroot -p000000

    四、在mysql1节点,授权在任何客户端机器上可以以root用户登录到数据库,然后在主节点上创建一个user用户连接节点mysql2,并赋予从节点同步主节点数据库的权限

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

    grant replication slave on *.* to 'user'@'从节点ip地址' identified by '000000';

    将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里:flush privileges;

    显示主机状态:show master status; 

     

    五、在从节点mysql2上登录MariaDB数据库,配置从节点连接主节点的连接信息。

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

     

    六、配置完毕主从数据库之间的连接信息之后,开启从节点服务

    start slave;

    show slave status\G

     看到两个yes则表示成功;

     

  • 相关阅读:
    第1章 初识Spring Boot,开发社区首页(下)
    【Overload游戏引擎分析】画场景栅格的Shader分析
    uniapp h5实现微信公众号登录
    Nginx:http自动跳转到https
    【ENVI精讲】遥感影像预处理-坐标系定义
    windows快捷方式图标变成空白
    深度学习 | Transformer 基本原理
    在VirtualLab Fusion的示例中演示连接场解算器
    第1章 Linux基础知识 -- 掌握linux常用命令(1)
    思维导图之规范与重构
  • 原文地址:https://www.cnblogs.com/lpmp/p/16931897.html