数据库学习之十四:读写分离 Atlas架构[通俗易懂]

数据库学习之十四:读写分离 Atlas架构[通俗易懂]十四、读写分离 Atlas架构 1、安装软件 2、修改配置 3、启动atlas 4、测试 5、管理atlas 6、扩展——atlas 自动分表

数据库学习之十四:读写分离 Atlas架构

十四、读写分离 Atlas架构

1、安装软件

rpm -ivh Atlas-2.2.1.el6.x86_64.rpm 

代码100分

2、修改配置

代码100分cd /usr/local/mysql-proxy/

vim /usr/local/mysql-proxy/conf/test.cnf
[mysql-proxy]
admin-username = user
admin-password = pwd
proxy-backend-addresses = 10.0.0.55:3306
proxy-read-only-backend-addresses = 10.0.0.51:3306,10.0.0.52:3306
pwds = repl:3yb5jEku5h4=,mha:O2jBXONX098=
daemon = true
keepalive = true
event-threads = 8
log-level = message
log-path = /usr/local/mysql-proxy/log
sql-log=ON
proxy-address = 0.0.0.0:33060
admin-address = 0.0.0.0:2345
charset=utf8

/usr/local/mysql-proxy/bin/encrypt  123      ---->制作加密密码

3、启动atlas

/usr/local/mysql-proxy/bin/mysql-proxyd test start
ps -ef |grep proxy

4、测试

代码100分测试读写分离:

读的测试
mysql -uroot -p123 -h10.0.0.53 -P33060 
show variables like "server_id";

写操作测试:

设置两个从节点只读
set global read_only=1;

连接测试

mysql -umha -pmha -h10.0.0.53 -P33060
create database db1;

5、管理atlas

连接管理接口:
mysql -uuser -ppwd -h127.0.0.1 -P2345
打印帮助:
mysql> select * from help;查看帮助命令
select * from backends;查看读写节点
动态添加删除节点:
REMOVE BACKEND 3;
ADD SLAVE 10.0.0.53:3306;
SAVE CONFIG;(配置文件中自动去除已经被删除的或者添加该节点)

6、扩展——atlas 自动分表

school.stu    1000w
id   name 

stu_0   stu_1   stu_2   stu_3    stu_4

以上分表方式,存数据非常均匀,取数据不均与,因为要考虑业务需求
如果业务查询热点数据集中在id是1-200w这些数据,那么读取就不均匀
取模分表

n/5  取余数  (0,1,2,3,4) 
(1)如果是  0  则分到 stu_0
(2)如果是  1  则分到 stu_1
(3)如果是  2  则分到 stu_2
(4)如果是  3  则分到 stu_3
(5)如果是  4  则分到 stu_4

取余数
配置文件
vim /usr/local/mysql-proxy/conf/test.cnf
tables = school.stu.id.5

重启atlas
(主库)手工创建,分表后的库和表,分别为定义的school  和 stu_0 stu_1 stu_2 stu_3 stu_4
create database school;
use school
create table stu_0 (id int,name varchar(20));
create table stu_1 (id int,name varchar(20));
create table stu_2 (id int,name varchar(20));
create table stu_3 (id int,name varchar(20));
create table stu_4 (id int,name varchar(20));

测试:

insert into stu values (3,"wang5");

insert into stu values (2,"li4");

insert into stu values (1,"zhang3");

insert into stu values (4,"m6");

insert into stu values (5,"zou7");

commit;

select * from stu_01 

或者 select * from stu where id=01

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8534.html

(0)
上一篇 2023-02-26
下一篇 2023-02-26

相关推荐

  • 【从零单排HBase 06】你必须知道的HBase最佳实践「终于解决」

    【从零单排HBase 06】你必须知道的HBase最佳实践「终于解决」前面,我们已经打下了很多关于HBase的理论基础,今天,我们主要聊聊在实际开发使用HBase中,需要关注的一些最佳实践经验。 1.Schema设计七大原则 1)每个region的大小应该控制在10G…

    2023-02-06
    150
  • Python By Walk:如何让您的代码更易读、更高效?

    Python By Walk:如何让您的代码更易读、更高效?Python语言有着简单易学、可读性强等特点,但是当代码量变大后,代码阅读体验也会变得更为困难。为了让您的Python代码更易读、更高效,接下来我们将从选取变量名、函数的设计、代码注释、代码优化等多个方面详细阐述。

    2024-01-30
    106
  • insert into数据库用法_jdbc insert

    insert into数据库用法_jdbc insertDML操作的大致流程 在解答上述疑惑之前,我们来梳理一下DML操作的大致流程: 1、语法解析、语义解析 2、生成执行计划 3、事务修改阶段 1) 激活事务,事务状态由not_active变为activ

    2023-01-31
    186
  • 使用Python在Mac系统中创建文件夹的简易方法

    使用Python在Mac系统中创建文件夹的简易方法在使用Python在Mac系统中创建文件夹之前,需要做些准备工作。首先,你需要在Mac电脑上安装Python。如果没有安装Python,可以到a href=”https://www.python.org/downloads/mac-osx/”Python官网/a下载,或使用Homebrew等第三方软件安装。其次,打开终端,输入以下命令:

    2024-04-08
    75
  • 数据库读写一致性_redis与数据库的一致性

    数据库读写一致性_redis与数据库的一致性1 导读 数据的一致性是数据准确的重要指标,那如何实现数据的一致性呢?本文从事务特性和事务级别的角度和大家一起学习如何实现数据的读写一致性。 2 一致性 1.数据的一致性:通常指关联数据之间的逻辑关系

    2023-06-07
    140
  • Python连接Oracle示例

    Python连接Oracle示例Python是一门强大的编程语言,对于数据分析和数据处理有着广泛的应用。而Oracle是企业级数据库中的佼佼者之一,其数据存储和管理能力得到了广泛的认可。将Python和Oracle相结合可以为用户提供更大范围的应用场景,因此Python连接Oracle成为了一个值得探讨的话题。

    2024-05-29
    79
  • 面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读「终于解决」

    面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读「终于解决」SIGMOD 数据管理国际会议是数据库领域具有最高学术地位的国际性会议,位列数据库方向顶级会议之首。近日,腾讯云数据库团队的最新研究成果入选 SIGMOD 2022 Research Full Pap

    2023-05-25
    154
  • mysql安装及使用教程_安装应用程序

    mysql安装及使用教程_安装应用程序【目录】 1、将MySQL服务 制作成windows服务 2、设置密码 3、忘记密码(激活成功教程密码) 【Windows系统】 1、将MySQL服务 制作成windows服务(即 可以开机自启动) 补充:c

    2023-02-24
    149

发表回复

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