企业级应用,持久层架构方案三(一主多从,读写分离上篇)

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

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;

 

posted @ 2019-06-19 21:24  小杨【0和1】  阅读(284)  评论(0编辑  收藏  举报