成都网站快照优化公司wordpress模板+免费下载

当前位置: 首页 > news >正文

成都网站快照优化公司,wordpress模板+免费下载,易书网上书城网站建设方案,包头网站建设推广读写分离 互相主从架构注意点 双主双从架构注意点 一主多从架构注意点 读写分离概念部署jdk环境上传文件#xff0c;解压文件配置环境变量 部署mycat环境mycat配置文件给所有数据库创建访问用户配置 server.xml配置 schema.xml启动mycat查看启动端口日志负载均衡测试 遇到的问… 读写分离 互相主从架构注意点 双主双从架构注意点 一主多从架构注意点 读写分离概念部署jdk环境上传文件解压文件配置环境变量 部署mycat环境mycat配置文件给所有数据库创建访问用户配置 server.xml配置 schema.xml启动mycat查看启动端口日志负载均衡测试 遇到的问题能进mycat但是进不去TESTDB调整mysql最大连接数在mycat中use TESTDB特别卡测试负载均衡时候0查看到的是主21查看到的是主1从1从2(基于双主双从做的读写分离)更改假用户登录mycat后查看的数据库名 互相主从 架构 iproleip1ip2的主库、ip2的从库ip2ip1的主库、ip2的从库 注意点 两个服务器上都要创建远程登录拷贝用户 两个数据库都在写入数据可能会造成主键冲突可以在my.cnf配置文件中写入 auto_increment_increment2 //设置初始步长值 auto_increment_offset1 //设置偏移量这样就可以避免主键冲突 双主双从 架构 iproleip1ip3和ip2的主库ip2的从库ip2ip4和ip1的主库ip1的从库ip3ip1的从库ip4ip2的从库 注意点 因为ip1和ip2的主库要拷贝多份二进制binlog日志在my.cnf里添加参数 log-slave-updates //binlog可以多次拷贝主库复制的内容也会写入从库binlog 一主多从 架构 iproleip1ip2和ip3的主库ip2ip1的从库ip3ip1的从库 注意点 因为ip1的主库要拷贝多份二进制binlog日志在my.cnf里添加参数 log-slave-updates //binlog可以多次拷贝主库复制的内容也会写入从库binlog 读写分离 概念 一主一从的基础上实现读数据和写数据访问不同的服务器 Mycat 是一个开源的数据库系统但是由于真正的数据库需要存储引擎而Mycat并没有存储引擎所以并不是完全意义的数据库系统Mycat 是数据库中间件就是介于数据库与应用之间进行数据处理与交互的中间服务。MyCAT是使用JAVA语言进行编写开发使用前需要先安装JAVA运行环境(JRE),由于MyCAT中使用了JDK7中的一些特性所以要求必须在JDK7以上的版本上运行。部署jdk环境 上传文件解压文件 tar -xf jdk-8u181-linux-x64.tar.gz配置环境变量 vim /etc/profile.d/java.sh //java环境配置export JAVA_HOME/opt/jdk1.8.0_211 export PATH\(JAVA_HOME/bin:\)PATH export CLASSPATH.:\(JAVA_HOME/lib/dt.jar:\)JAVA_HOME/lib/tools.jarsource /etc/profile.d/java.sh //使环境变量生效部署mycat环境 tar xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gzvim /etc/profile //环境配置export JAVA_HOME/opt/mycat export PATH\(JAVA_HOME/bin:\)PATH export CLASSPATH.:\(JAVA_HOME/lib/dt.jar:\)JAVA_HOME/lib/tools.jarsource /etc/profile //重启环境变量mycat配置文件 mycat/conf/server.xml //定义用户以及系统相关变量如端口等。其中用户信息是前端应用程序连接mycat的用户信息简单来说就是假的信息mycat/conf/schema.xml //定义逻辑库表、分片节点等内容。给所有数据库创建访问用户 grant all on . to 用户名% identified by 密码;配置 server.xml 修改配置文件前备份一份 ?xml version1.0 encodingUTF-8? !DOCTYPE mycat:server SYSTEM server.dtd mycat:server xmlns:mycathttp://io.mycat/ !– 登录mycat的用户和密码–user nameroot defaultAccounttrueproperty namepassword0/property !– 登录mycat的用户看到的数据库名–property nameschemasTESTDB/property/useruser nameuserproperty namepassworduser/propertyproperty nameschemasTESTDB/propertyproperty namereadOnlytrue/property/user /mycat:server配置 schema.xml 修改配置文件前备份一份 ?xml version1.0? !DOCTYPE mycat:schema SYSTEM schema.dtd mycat:schema xmlns:mycathttp://io.mycat/ !–逻辑库和分表设置与server.xml一致–schema nameTESTDB checkSQLschemafalse sqlMaxLimit100 dataNodedn1/schema !–数据节点database是真实存在的组真组和假组在这里建立连接–dataNode namedn1 dataHostlocalhost1 databasestu /!–主机组注意name和数据节点的dataHost相同即可balance负载均衡–dataHost namelocalhost1 maxCon1000 minCon10 balance1 writeType0 dbTypemysql dbDrivernative switchType1 slaveThreshold100!–健康检查–heartbeatselect user()/heartbeat!–读写配置此处以双主双从举例此处的用户数据库必须存在– writeHost hosthostM1 url主1ip:端口 user用户 password密码readHost hosthostS1 url从1ip:端口 user用户 password密码//writeHostwriteHost hosthostM2 url主2ip:端口 user用户 password密码readHost hosthostS2 url从2ip:端口 user用户 password密码//writeHost/dataHost /mycat:schema启动mycat mycat start查看启动端口 ss -nplt 端口关注8066日志 mycat/logs //日志目录drwxr-xr-x 2 root root 4096 12月 26 10:24 2023-12 //打包的日志文件 -rw-r–r– 1 root root 23800 12月 26 11:19 mycat.log //mycat的启动日志文件 -rw-r–r– 1 root root 5 12月 26 10:24 mycat.pid //启动程序的pid -rw-r–r– 1 root root 72956 12月 26 10:24 wrapper.log //错误日志负载均衡 balance 属性 负载均衡类型,目前的取值有 3 种:

  1. balance0, 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。
  2. balance1, 全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1-S1,M2-S2,并且M1与M2互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。
  3. balance2, 所有读操作都随机的在 writeHost、readhost 上分发。
  4. balance3, 所有读请求随机的分发到 writerHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance3 只在 1.4 及其以后版本有,1.3 没有。writeType 属性 负载均衡类型
  5. writeType0, 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准.
  6. writeType1,所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐。测试 mysql -uroot -p0 -hmycat -P8066 TESTDB //此处登录的ip地址是mycat存在的主机登录的用户是在mycat/conf/server.xml中写的假的数据库登录信息关闭双主双从的主从复制服务器分别创建数据库用负载均衡进行检查 0只能查看正在写的数据库 1除了正在写的数据库都有 2所有数据库 3所有读的数据库遇到的问题 能进mycat但是进不去TESTDB 问题一 一般情况是数据库的用户授权或者创建有问题若是多主数据库的情况进不去数据库时候会一直建立连接用户问题解决后调整mysql最大连接数 max-connections2000 //增加mysql最大连接数的配置在my.cnf更改在mycat中use TESTDB特别卡 问题一 schema.xml配置文件中 !–数据节点database是真实存在的组真组和假组在这里建立连接– dataNode namedn1 dataHostlocalhost1 databasestu / 数据节点database的数据库可能在主从架构中不存在问题二 创建用户和库的时候先创的用户后创建的库用户没有授权这个库重新对用户进行授权即可测试负载均衡时候0查看到的是主21查看到的是主1从1从2(基于双主双从做的读写分离) 主1数据库的最大连接数连满了写的目标数据库变成主2的数据库 重启数据库即可解决或者设置数据库的最大连接数更改假用户登录mycat后查看的数据库名 ?xml version1.0 encodingUTF-8? !DOCTYPE mycat:server SYSTEM server.dtd mycat:server xmlns:mycathttp://io.mycat/ !– 登录mycat的用户和密码–user nameroot defaultAccounttrueproperty namepassword0/property !– 登录mycat的用户看到的数据库名–property nameschemasnan/property/useruser nameuserproperty namepassworduser/propertyproperty nameschemasTESTDB/propertyproperty namereadOnlytrue/property/user /mycat:serverschema.xml schema namenan checkSQLschemafalse sqlMaxLimit100 dataNodedn1然后就起不来了问题在假库的配置文件user的标签内识别不到不用user标签将标签删除如 ?xml version1.0 encodingUTF-8? !DOCTYPE mycat:server SYSTEM server.dtd mycat:server xmlns:mycathttp://io.mycat/ !– 登录mycat的用户和密码–user nameroot defaultAccounttrueproperty namepassword0/property !– 登录mycat的用户看到的数据库名–property nameschemasnan/property/user /mycat:server 重启一般情况就起来了