zoukankan      html  css  js  c++  java
  • 企业级应用,持久层架构方案三(一主多从,读写分离上篇)

      这是企业级应用,持久层架构方案的第三篇。在上一篇:企业级应用,持久层架构方案二(双主同步高可用二)中。已经实现了双主同步高可用,解决了高可用的问题。还没有解决高性能问题,目前读写都是在主服务器上,会导致主服务器压力大,性能低。那么在这一篇中,来看一看如何通过读写分离,实现持久层的高性能访问。

    1.架构图

    2.安装从库

      2.1.hadoop003节点

        2.1.1.安装mysql

    #第一步:通过yum在线安装
    yum  install  mysql  mysql-server  mysql-devel
    
    #第二步:启动mysql服务
    /etc/init.d/mysqld start
    
    ##检查mysql运行状态状态
    /etc/init.d/mysqld status
    
    #第三步:通过脚本配置mysql
    /usr/bin/mysql_secure_installation
    
    #第四步:远程访问授权
    mysql -uroot -p123456
    
    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    
    flush privileges;
    
    #第五步:设置开机自动启动
    chkconfig mysqld --list
    chkconfig mysqld on

        2.1.2.编辑my.cnf

    #编辑文件
    vi /etc/my.cnf
    ------------------------------------------------------------
    [mysqld]
    server-id = 3                    #服务唯一表示id
    slave-skip-errors = all                       #忽略所有复制产生的错误  
    
    
    --------------------------------------------------------------
    
    #重新启动服务
    service mysqld restart

        2.1.3.同步配置

    #登录mysql
    mysql -uroot -p123456
    
    mysql> change  master to
        ->  master_host='192.168.80.40',
        ->  master_user='rep',
        ->  master_password='123456',
        ->  master_log_file='mysql-bin.000003',
        ->  master_log_pos=106; 
    mysql> start  slave;         #启动同步

      2.2.hadoop004节点

        2.2.1.安装mysql

    #第一步:通过yum在线安装
    yum  install  mysql  mysql-server  mysql-devel
    
    #第二步:启动mysql服务
    /etc/init.d/mysqld start
    
    ##检查mysql运行状态状态
    /etc/init.d/mysqld status
    
    #第三步:通过脚本配置mysql
    /usr/bin/mysql_secure_installation
    
    #第四步:远程访问授权
    mysql -uroot -p123456
    
    grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
    
    flush privileges;
    
    #第五步:设置开机自动启动
    chkconfig mysqld --list
    chkconfig mysqld on

        2.2.2.编辑my.cnf

    #编辑文件
    vi /etc/my.cnf
    ------------------------------------------------------------
    [mysqld]
    server-id = 4                    #服务唯一表示id
    slave-skip-errors = all                       #忽略所有复制产生的错误  
    
    
    --------------------------------------------------------------
    
    #重新启动服务
    service mysqld restart

        2.2.3.同步配置

    #登录mysql
    mysql -uroot -p123456
    
    mysql> change  master to
        ->  master_host='192.168.80.40',
        ->  master_user='rep',
        ->  master_password='123456',
        ->  master_log_file='mysql-bin.000003',
        ->  master_log_pos=800; 
    mysql> start  slave;         #启动同步

    3.综合测试案例

    说明:在主库A创建数据库oa,并进行创建数据库表,添加数据等操作。确认可以自动同步到从库C和D。

    #创建数据库
    create database oa;
    
    #使用test数据库
    use oa;
    
    #创建一张表
    create table t_user(id bigint  primary key auto_increment,name varchar(20))ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
    
    #插入数据
    insert t_user(name) values('zhangs');
    
    #查询数据
    select * from t_user;
  • 相关阅读:
    lambda函数用法
    Appium基础篇-元素定位
    python生成测试报告
    jmeter 设置中文
    jmeter bin下常用目录
    高效求幂运算
    欧几里德算法(求最大公因数)
    二分查找
    最大子序列和问题
    秋游小记
  • 原文地址:https://www.cnblogs.com/itall/p/11055023.html
Copyright © 2011-2022 走看看