首页 > 数据库 >redis中,msyql数据库读写分离搭建

redis中,msyql数据库读写分离搭建

时间:2024-12-26 09:29:14浏览次数:3  
标签:name 读写 redis mycat xx msyql usr mysql local

一.mysql读写分离:缓解主服务器的压力

	1.概念:主服务器写数据,从服务器读数据
	2.实现方法:
		客户端分离: 开发手动分离地址
		服务端分离: 数据库与应用之间加一个中间件,分离读写请求
			    mysql-proxy,mysql-route,maxscale
			    amoeba,cobar,mycat2
			    atlas,kingshard,vitees
	3.mycat配置方法:
		冷配置:直接改配置文件
		热配置:命令配置
	    
	4.操作步骤
		
		主从-->users-->datasources-->cluster-->主备配置读写分离-->shecma配置逻辑库
		1.搭建主从服务器56,57
			
		2.安装授权mycat,安装mysql(原型库,存储mycat运行的数据)
		 mycat2-1.21-release-jar-with-dependencies.jar :运行依赖包
		 mycat2-install-template-1.21.zip:软件包

		 yum -y install java-1.8.0-openjdk.x86_64
		 cp mycat2-1.21-release-jar-with-dependencies.jar  /usr/local/mycat/lib/
		
		 chmod +x /usr/local/mycat/bin/*
		 chmod -R 777 /usr/local/mycat
		3.定义客户端连接mycat服务使用的用户及密码
			/usr/local/mycat/conf/users/root.user.json
			{
		        "dialect":"mysql",
		        "ip":null,
		        "password":"654321", 密码
		        "transactionType":"proxy",
		        "username":"mycat" 用户名
			}

		4.配置本机用户和datasources数据源地址,mycat机器的mysql创建plj用户并授权
			/usr/local/mycat/conf/datasources/prototypeDs.data
			{
		       ....
		        "password":"123456", 密码
		        "type":"JDBC",
		       	....
		        "user":"plj", 用户名
		        "weight":0
			}
			----
			mysql> create user plj@"%" identified by "123456";  //创建plj用户
			mysql> grant all on *.* to plj@"%" ;   //授予权限
		
		5.启动mycat服务并登录(8066)
			/usr/lcoal/mycat/bin/mycat start

			mysql -h127.0.0.1 -P8066 -umycat -p654321

		6.mycat下,配置主从的用户数据源地址,mysql56,主机器上创建主从数据源的用户并授权

			/*+ mycat: createdatasource{
			"name":"whost56", #master角色主机名
			"url":"jdbc:mysql://192.168.88.56:3306",
			"user":"plja",
			"password":"123456"
			} */;
		
			/*+ mycat: createdatasource{
			"name":"rhost57", #slave角色主机名
			"url":"jdbc:mysql://192.168.88.57:3306",
			"user":"plja",
			"password":"123456"
			} */;
			----
			mysql> create user plja@"%" identified by "123456";  //创建plj用户
			mysql> grant all on *.* to plja@"%" ;   //授予权限

		热配置,用户/数据源/集群/逻辑库相关命令

		/*+ mycat: showusers{} / showdatasources{} / showschemas{} */;

		/*+ mycat: createuser{"name":"xx","password":"xx"...} / createdatasource{"name":"xx"}  / createschema{"name":"xx"}*/;

	 	/*+ mycat: dropuser{"name":"xx"} /dropdatasource{"name":"xx"} /dropschema{"name":"xx"}*/;
		
		---集群
		/*+ mycat: showclusters{} */;
		/*! mycat: createcluster{"name":"xx"...} */;
		/*! mycat: dropcluster{"name":"xx"...} */;

	
		7.mycat下,主从服务器加入集群
			mysql -h127.0.0.1 -P8066 -umycat -p654321

			/*! mycat:createcluster{
			"name":"rwcluster",
			"masters":["whost56"], #master角色主机名
			"replicas":["rhost57"] #slave角色主机名
			}*/ ;
			

		8.调整配置文件修改主从的读写操作(之前配置的name=这里的配置文件名称)
			vim /usr/local/mycat/conf/datasources/whost56.datasource.json
				"instanceType":"WRITE"  #分配写
			vim /usr/local/mycat/conf/datasources/rhost57.datasource.json 
				"instanceType":"READ"   #分配读
			vim /usr/local/mycat/conf/clusters/rwcluster.cluster.json 
				"instanceType":"BALANCE_ALL_READ" 

			BALANCE_ALL:获取集群中所有数据源
			BALANCE_ALL_READ:读请求都会被均衡地分配到所有的从库
			BALANCE_READ_WRITE:获取集群中允许读写的数据,单允许读的数据优先
			BALANCE_NONE:获取集群中允许写的数据
	
			重启服务 /usr/local/mycat/bin/mycat restart

		9.登录mycat,创建testdb库,生成testdb.schema.json文件,修改配置文件,逻辑库关联集群真实库
			mysql -h127.0.0.1 -P8066 -umycat -p654321
			create database testdb;

			vim /usr/local/mycat/conf/schemas/testdb.schema.json
			       "schemaName":"testdb",
        			"targetName":"rwcluster", #集群名称

		10.登录mycat,创建表,写记录测试,完成数据的读写分离
			mysql -h127.0.0.1 -P8066 -umycat -p654321
			create table testdb.user(name char(10),password char(10));
			insert into  testdb.user values("yaya","123456");

2.mysql读写分离:缓解主服务器的压力

    1.概念:主服务器写数据,从服务器读数据
    2.实现方法:
        客户端分离: 开发手动分离地址
        服务端分离: 数据库与应用之间加一个中间件,分离读写请求
                mysql-proxy,mysql-route,maxscale
                amoeba,cobar,mycat2
                atlas,kingshard,vitees
    3.mycat配置方法:
        冷配置:直接改配置文件
        热配置:命令配置
        
    4.操作步骤
        
        主从-->users-->datasources-->cluster-->主备配置读写分离-->shecma配置逻辑库
        1.搭建主从服务器56,57
            
        2.安装授权mycat,安装mysql(原型库,存储mycat运行的数据)
         mycat2-1.21-release-jar-with-dependencies.jar :运行依赖包
         mycat2-install-template-1.21.zip:软件包

         yum -y install java-1.8.0-openjdk.x86_64
         cp mycat2-1.21-release-jar-with-dependencies.jar  /usr/local/mycat/lib/
        
         chmod +x /usr/local/mycat/bin/*
         chmod -R 777 /usr/local/mycat
        3.定义客户端连接mycat服务使用的用户及密码
            /usr/local/mycat/conf/users/root.user.json
            {
                "dialect":"mysql",
                "ip":null,
                "password":"654321", 密码
                "transactionType":"proxy",
                "username":"mycat" 用户名
            }

        4.配置本机用户和datasources数据源地址,mycat机器的mysql创建plj用户并授权
            /usr/local/mycat/conf/datasources/prototypeDs.data
            {
               ....
                "password":"123456", 密码
                "type":"JDBC",
                   ....
                "user":"plj", 用户名
                "weight":0
            }
            ----
            mysql> create user plj@"%" identified by "123456";  //创建plj用户
            mysql> grant all on *.* to plj@"%" ;   //授予权限
        
        5.启动mycat服务并登录(8066)
            /usr/lcoal/mycat/bin/mycat start

            mysql -h127.0.0.1 -P8066 -umycat -p654321

        6.mycat下,配置主从的用户数据源地址,mysql56,主机器上创建主从数据源的用户并授权

            /*+ mycat: createdatasource{
            "name":"whost56", #master角色主机名
            "url":"jdbc:mysql://192.168.88.56:3306",
            "user":"plja",
            "password":"123456"
            } */;
        
            /*+ mycat: createdatasource{
            "name":"rhost57", #slave角色主机名
            "url":"jdbc:mysql://192.168.88.57:3306",
            "user":"plja",
            "password":"123456"
            } */;
            ----
            mysql> create user plja@"%" identified by "123456";  //创建plj用户
            mysql> grant all on *.* to plja@"%" ;   //授予权限

        热配置,用户/数据源/集群/逻辑库相关命令

        /*+ mycat: showusers{} / showdatasources{} / showschemas{} */;

        /*+ mycat: createuser{"name":"xx","password":"xx"...} / createdatasource{"name":"xx"}  / createschema{"name":"xx"}*/;

         /*+ mycat: dropuser{"name":"xx"} /dropdatasource{"name":"xx"} /dropschema{"name":"xx"}*/;
        
        ---集群
        /*+ mycat: showclusters{} */;
        /*! mycat: createcluster{"name":"xx"...} */;
        /*! mycat: dropcluster{"name":"xx"...} */;

    
        7.mycat下,主从服务器加入集群
            mysql -h127.0.0.1 -P8066 -umycat -p654321

            /*! mycat:createcluster{
            "name":"rwcluster",
            "masters":["whost56"], #master角色主机名
            "replicas":["rhost57"] #slave角色主机名
            }*/ ;
            

        8.调整配置文件修改主从的读写操作(之前配置的name=这里的配置文件名称)
            vim /usr/local/mycat/conf/datasources/whost56.datasource.json
                "instanceType":"WRITE"  #分配写
            vim /usr/local/mycat/conf/datasources/rhost57.datasource.json 
                "instanceType":"READ"   #分配读
            vim /usr/local/mycat/conf/clusters/rwcluster.cluster.json 
                "instanceType":"BALANCE_ALL_READ" 

            BALANCE_ALL:获取集群中所有数据源
            BALANCE_ALL_READ:读请求都会被均衡地分配到所有的从库
            BALANCE_READ_WRITE:获取集群中允许读写的数据,单允许读的数据优先
            BALANCE_NONE:获取集群中允许写的数据
    
            重启服务 /usr/local/mycat/bin/mycat restart

        9.登录mycat,创建testdb库,生成testdb.schema.json文件,修改配置文件,逻辑库关联集群真实库
            mysql -h127.0.0.1 -P8066 -umycat -p654321
            create database testdb;

            vim /usr/local/mycat/conf/schemas/testdb.schema.json
                   "schemaName":"testdb",
                    "targetName":"rwcluster", #集群名称

        10.登录mycat,创建表,写记录测试,完成数据的读写分离
            mysql -h127.0.0.1 -P8066 -umycat -p654321
            create table testdb.user(name char(10),password char(10));
            insert into  testdb.user values("yaya","123456");
 

标签:name,读写,redis,mycat,xx,msyql,usr,mysql,local
From: https://blog.csdn.net/qq_50655286/article/details/144693140

相关文章

  • Redis基础
    键值(key-value)存储系统结构数据库/redis非关系数据库redis的应用场景缓存、消息队列、会话存储的场景1、redis的优点极高的性能,适合处理高并发请求的数据丰富的数据类型字符串、列表、集合、哈希等能够保证数据的完整性和一致性可以设置数据的过期......
  • redis 数据迁移到集群
    关闭protected-mode/usr/local/redis/bin/redis-cli-p26379-a123456--no-auth-warning-h192.168.174.108configsetprotected-modeno/usr/local/redis/bin/redis-cli-p26379-a123456--no-auth-warning-h192.168.174.112configsetprotected-modeno/us......
  • redis7.4 集群配置
    集群规划节点规划redis-01192.168.174.108redis-02192.168.174.112redis-03192.168.174.117redis-04192.168.174.114redis-05192.168.174.115redis-06192.168.174.116redis-07192.168.174.118redis-08192.168.174.119redis服务配置redis.conf配置sed-i-e......
  • redis十大数据类型
    redis字符串(String)String(字符串)string是redis最基本的类型,一个key对应一个valuestring类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。redis列表(list)List......
  • 数据同步工具: mysql表级全量同步 / mongodb全量+增量同步 / redis全量+增量同步
    目录数据同步工具方案说明MySql同步方案概述配置说明MongoDB同步方案概述配置说明Redis同步方案概述配置说明启动同步服务文件准备启动服务数据同步工具mysql表级全量同步/mongodb全量+增量同步/redis全量+增量同步源码地址:https://github.com/jiashuaizhang/sync-jobs......
  • msyql innodb缓存池的命中率
    msyqlinnodb缓存池的命中率1.showstatuslikeshowstatuslike'%innodb_buffer_pool_read%';Innodb_buffer_pool_read_requests逻辑读表示向innodb缓存池进行逻辑读额次数Innodb_buffer_pool_reads物理读表示从物理磁盘读取数据的次数msyqlinnodb缓存池的命中率=(Inn......
  • 【详解】MySQL主从复制配置,一次性搞定读写分离!
    本文将详细介绍MySQL主从复制的配置过程,包括主库配置、从库配置、主从同步状态监控等内容,帮助你轻松实现数据库的读写分离。一、主从复制简介MySQL主从复制是一个异步的复制过程,通过它可以让一台MySQL服务器(从库)的数据与另一台MySQL服务器(主库)的数据保持同步。1.1主从复制的......
  • qt读写ini文件
    [group1]key1=val1key2=val2sameKay=sameVal[group2]jian1=zhi1jian2=zhi2sameKay=sameZhi 比如创建插入一组ini文件,下面是文件写入的代码;Ini文件的写入ini文件不需要像xml和json一样需要使用QFile打开文件,只需将文件路径及文件格式传入即可(下方代码运行完毕,ini文件则会更新......
  • centos7.9 安装redis 7.4.1
    redis下载地址:http://download.redis.io/releases/选择自己想要的版本,本次安装的是7.4.1安装redis下载包到服务器wgethttp://download.redis.io/releases/redis-7.4.1.tar.gz下载包到/usr/local/redis解压tar-zxvfredis-7.4.1.tar.gz把解压的文件夹拷贝到默认路......
  • Redis分片集群+MQ处理高并发
    Redis的三大集群模式:主从复制、哨兵模式和Cluster模式。每种模式都有其特点和应用场景,具体如下:主从复制模式:适用于数据备份和读写分离场景,配置简单,但在主节点故障时需要手动切换。哨兵模式:在主从复制的基础上实现自动故障转移,提高高可用性,适用于高可用性要求较高的场景。Clu......