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

网站转跳怎么做win10优化

网站转跳怎么做,win10优化,wordpress 开启模板,凡客官网登录入口网址文章目录 前言1. 安装部署1.1 下载安装包1.2 MySQL Shell1.3 配置 MySQL 实例1.4 启动 ReplicaSet1.5 启动 8.2 Router 2. 测试路由总结 前言 MySQL 8.0 官方推出过一个高可用方案 ReplicaSet 主要由 Router、MySQL Shell、MySQL Server 三个组件组成。 MySQL Shell 负责管理…

文章目录

    • 前言
    • 1. 安装部署
      • 1.1 下载安装包
      • 1.2 MySQL Shell
      • 1.3 配置 MySQL 实例
      • 1.4 启动 ReplicaSet
      • 1.5 启动 8.2 Router
    • 2. 测试路由
    • 总结

前言

MySQL 8.0 官方推出过一个高可用方案 ReplicaSet 主要由 Router、MySQL Shell、MySQL Server 三个组件组成。

MySQL Shell 负责管理 ReplicaSet 包括部署、切换、节点加入等,都可以通过内置 AdminAPI 自动化完成。

MySQL Router 是一款轻量级中间件,可在应用程序和 ReplicaSet 之间提供透明路由和读写分离功能。
在这里插入图片描述
8.0 时期的 Router 读写需要配置两个端口,应用如果想要使用读写分离的特性,需要额外适配。

-- MySQL 经典协议
- Read/Write Connections: localhost:6446, /data/myrouter/mysql.sock
- Read/Only Connections:  localhost:6447, /data/myrouter/mysqlro.sock-- MySQL X 协议
- Read/Write Connections: localhost:6448, /data/myrouter/mysqlx.sock
- Read/Only Connections:  localhost:6449, /data/myrouter/mysqlxro.sock

到了 MySQL 8.2 版本 Router 自动可以识别读取和写入,按照配置规则分配到不同的实例,无需使用额外端口。

1. 安装部署

让我们一起从 0 部署一套 MySQL 8.2 ReplicaSet 集群吧 !

  • 系统版本:CentOS Linux release 7.8.2003 (Core)
  • MySQL Server:8.0.32
IPhostnameRole
172.16.104.56172-16-104-56Master
172.16.104.57172-16-104-56Secondary
vi /etc/hosts
172.16.104.56 172-16-104-56
172.16.104.57 172-16-104-57

1.1 下载安装包

MySQL 官网下载地址:https://downloads.mysql.com/archives/community

在这里插入图片描述
压缩包里面包含 MySQL Server 和 MySQL Router 组件。安装 MySQL Server 步骤参考下文👇

MySQL 部署:MySQL 自动化安装部署

1.2 MySQL Shell

官方下载地址:MySQL Shell download

mv mysql-shell-8.0.31-linux-glibc2.12-x86-64bit /usr/local/mysqlsh
export PATH=/usr/local/mysqlsh/bin/:$PATH
echo 'PATH=$PATH:/usr/local/mysqlsh/bin/' >> /etc/profile

进入 MySQL Shell 使用 \py & \js 可以切换命令模式,本篇文章使用 python 模式演示:
在这里插入图片描述

1.3 配置 MySQL 实例

部署好 MySQL 实例后,需要创建一个用户,提供给 MySQL Shell 使用,这里演示创建的用户是:rw_shell

GRANT CLONE_ADMIN, CONNECTION_ADMIN, CREATE USER, EXECUTE, FILE, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, REPLICATION_APPLIER, REPLICATION_SLAVE_ADMIN, ROLE_ADMIN, SELECT, SHUTDOWN, SYSTEM_VARIABLES_ADMIN ON *.* TO 'rw_shell'@'%' WITH GRANT OPTION;
GRANT DELETE, INSERT, UPDATE ON mysql.* TO 'rw_shell'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata.* TO 'rw_shell'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata_bkp.* TO 'rw_shell'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata_previous.* TO 'rw_shell'@'%' WITH GRANT OPTION;

配置 MySQL 实例,检查是否符合创建 ReplicaSet 的条件,如果发现需要修改的地方,就会提示确认修改。
执行次命令会让用户输入密码,保存后会进入检查阶段。

dba.configure_replica_set_instance('rw_shell@172-16-104-55:3306', {"clusterAdmin": "rw_shell@'%'"})
dba.configure_replica_set_instance('rw_shell@172-16-104-56:3306', {"clusterAdmin": "rw_shell@'%'"})

MySQL Shell 会检查数据库参数是否满足创建 ReplicaSet 条件,并提出修改建议:
在这里插入图片描述
此阶段执行完成后,表示实例都具备组成 ReplicaSet 条件,可进入下一步。

1.4 启动 ReplicaSet

使用 MySQL Shell 连接到主实例,否则测试中会报 session 错误。

An open session is required to perform this operation.

\c rw_shell@172-16-104-56:3306

创建 ReplicaSet 默认当前进入的实例为主库实例:

rs = dba.create_replica_set("prd_op_service")

添加复制节点:

rs.add_instance("172-16-104-57:3306")

至此,ReplicaSet 已配置完成,下图为拓扑信息:

{"replicaSet": {"name": "prd_op_service", "primary": "172-16-104-56:3306", "status": "AVAILABLE", "statusText": "All instances available.", "topology": {"172-16-104-56:3306": {"address": "172-16-104-56:3306", "instanceRole": "PRIMARY", "mode": "R/W", "status": "ONLINE"}, "172-16-104-57:3306": {"address": "172-16-104-57:3306", "instanceRole": "SECONDARY", "mode": "R/O", "replication": {"applierStatus": "APPLIED_ALL", "applierThreadState": "Waiting for an event from Coordinator", "applierWorkerThreads": 4, "receiverStatus": "ON", "receiverThreadState": "Waiting for source to send event", "replicationLag": null, "replicationSsl": "TLS_AES_128_GCM_SHA256 TLSv1.3", "replicationSslMode": "REQUIRED"}, "status": "ONLINE"}}, "type": "ASYNC"}
}

1.5 启动 8.2 Router

解压二进制包,开箱即用。

xz -d mysql-router-8.2.0-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-router-8.2.0-linux-glibc2.12-x86_64.tar

创建 router 专用用户:

rs.setup_router_account('op_router')

更新 router 配置信息:

./mysqlrouter \--bootstrap rw_shell@172-16-104-56:3306 \--directory /data/myrouter \--conf-use-sockets \--account op_router \--user=root

此时 Router 输出的配置信息:

After this MySQL Router has been started with the generated configuration$ ./mysqlrouter -c /data/myrouter/mysqlrouter.confInnoDB ReplicaSet 'prd_op_service' can be reached by connecting to:## MySQL Classic protocol- Read/Write Connections: localhost:6446, /data/myrouter/mysql.sock
- Read/Only Connections:  localhost:6447, /data/myrouter/mysqlro.sock
- Read/Write Split Connections: localhost:6450, /data/myrouter/mysqlsplit.sock## MySQL X protocol- Read/Write Connections: localhost:6448, /data/myrouter/mysqlx.sock
- Read/Only Connections:  localhost:6449, /data/myrouter/mysqlxro.sock

从输出结果看,相比于之前的版本,多了一个 6450 端口。

启动 mysqlrouter 服务:

./mysqlrouter -c /data/myrouter/mysqlrouter.conf &

2. 测试路由

使用 6450 端口连接 MySQL:

mysql -urw_shell -P6450 -h172.16.104.56 -p
rw_shell@mysql 17:21:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-57 |
+---------------+
1 row in set (0.01 sec)rw_shell@mysql 17:22:  [(none)]>begin;
Query OK, 0 rows affected (0.01 sec)rw_shell@mysql 17:22:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-56 |
+---------------+
1 row in set (0.01 sec)rw_shell@mysql 17:22:  [(none)]>commit;
Query OK, 0 rows affected (0.00 sec)rw_shell@mysql 17:22:  [(none)]>
rw_shell@mysql 17:22:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-57 |
+---------------+
1 row in set (0.01 sec)

从上面的实验,我们可以看到,默认情况下,如果执行读取操作,我们将到达复制节点,但如果启动事务,我们将到主节点,而无需更改端口并使用相同的连接。

rw_shell@mysql 17:25:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-57 |
+---------------+
1 row in set (0.01 sec)rw_shell@mysql 17:25:  [(none)]>start transaction read only;
Query OK, 0 rows affected (0.02 sec)rw_shell@mysql 17:26:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-57 |
+---------------+
1 row in set (0.01 sec)

启动事务类型为只读事务的话,也会直接到复制节点。

rw_shell@mysql 17:32:  [(none)]>ROUTER SET access_mode='read_only';
Query OK, 0 rows affected (0.00 sec)rw_shell@mysql 17:32:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-57 |
+---------------+
1 row in set (0.02 sec)rw_shell@mysql 17:33:  [(none)]>ROUTER SET access_mode='read_write';
Query OK, 0 rows affected (0.00 sec)rw_shell@mysql 17:33:  [(none)]>select @@hostname;
+---------------+
| @@hostname    |
+---------------+
| 172-16-104-56 |
+---------------+
1 row in set (0.02 sec)

可以通过 ROUTER SET 语句,定义接下来 SQL 访问类型。

总结

MySQL 8.2 版本的 router 读写分离支持使用一个端口,无需业务适应更改,是一项非常很有价值的功能,可以优化数据库性能和可扩展性,而无需对应用程序进行任何更改。

参考资料:https://lefred.be/content/mysql-8-2-transparent-read-write-splitting/


文章转载自:
http://sphragistics.wjrq.cn
http://rusticity.wjrq.cn
http://agued.wjrq.cn
http://refurbish.wjrq.cn
http://benzonitrile.wjrq.cn
http://rhodamine.wjrq.cn
http://heteroplasia.wjrq.cn
http://concourse.wjrq.cn
http://vexillar.wjrq.cn
http://arianise.wjrq.cn
http://alpenglow.wjrq.cn
http://noblest.wjrq.cn
http://eshaustibility.wjrq.cn
http://barents.wjrq.cn
http://wiper.wjrq.cn
http://hypomania.wjrq.cn
http://esophagoscopy.wjrq.cn
http://tabouret.wjrq.cn
http://sedum.wjrq.cn
http://superaltern.wjrq.cn
http://kheda.wjrq.cn
http://fidate.wjrq.cn
http://natty.wjrq.cn
http://ironweed.wjrq.cn
http://overt.wjrq.cn
http://shooter.wjrq.cn
http://nidering.wjrq.cn
http://corpulence.wjrq.cn
http://ogle.wjrq.cn
http://ramjet.wjrq.cn
http://sextupole.wjrq.cn
http://nef.wjrq.cn
http://willinghearted.wjrq.cn
http://fewtrils.wjrq.cn
http://chadian.wjrq.cn
http://entelechy.wjrq.cn
http://serried.wjrq.cn
http://what.wjrq.cn
http://incondite.wjrq.cn
http://phonographic.wjrq.cn
http://planograph.wjrq.cn
http://rearwards.wjrq.cn
http://bourgeoisie.wjrq.cn
http://lustra.wjrq.cn
http://rhabdomere.wjrq.cn
http://iridology.wjrq.cn
http://kuskokwim.wjrq.cn
http://panpsychism.wjrq.cn
http://housemistress.wjrq.cn
http://ethanol.wjrq.cn
http://lyricist.wjrq.cn
http://gleba.wjrq.cn
http://neuss.wjrq.cn
http://anole.wjrq.cn
http://modificative.wjrq.cn
http://ort.wjrq.cn
http://suffragan.wjrq.cn
http://cucumber.wjrq.cn
http://patulous.wjrq.cn
http://autotransplant.wjrq.cn
http://bookhunter.wjrq.cn
http://psychogenesis.wjrq.cn
http://panentheism.wjrq.cn
http://disjointed.wjrq.cn
http://whame.wjrq.cn
http://nonrestrictive.wjrq.cn
http://affectation.wjrq.cn
http://tunney.wjrq.cn
http://corymbiferous.wjrq.cn
http://legiron.wjrq.cn
http://messianism.wjrq.cn
http://contrastively.wjrq.cn
http://confiscation.wjrq.cn
http://honshu.wjrq.cn
http://ruthfulness.wjrq.cn
http://invaluableners.wjrq.cn
http://barrelage.wjrq.cn
http://styrax.wjrq.cn
http://esophageal.wjrq.cn
http://thioantimoniate.wjrq.cn
http://silicious.wjrq.cn
http://ablepsia.wjrq.cn
http://monstrosity.wjrq.cn
http://embitter.wjrq.cn
http://gaunt.wjrq.cn
http://animosity.wjrq.cn
http://witticism.wjrq.cn
http://stalemate.wjrq.cn
http://grovel.wjrq.cn
http://chorology.wjrq.cn
http://noserag.wjrq.cn
http://arenaceous.wjrq.cn
http://highstick.wjrq.cn
http://cyclase.wjrq.cn
http://sukie.wjrq.cn
http://glissandi.wjrq.cn
http://exoterica.wjrq.cn
http://diagonally.wjrq.cn
http://mediate.wjrq.cn
http://achromatization.wjrq.cn
http://www.hrbkazy.com/news/60280.html

相关文章:

  • 网站开发 科技百度在西安有分公司吗
  • 做网站哪里最好新闻发稿发布平台
  • 用asp做旅游网站抖音宣传推广方案
  • 柯桥网站建设哪家好_绍兴市场推广_非凡分类信息交换链接的其它叫法是
  • 如何做旅游休闲网站安卓优化大师hd
  • 做网站实验报告seo搜索引擎优化工程师招聘
  • 信息类网站有哪些东莞营销外包公司
  • 怎么做网站站长深圳网络营销策划有限公司
  • 企业建设网站专业服务网络营销成功案例有哪些2022
  • 合肥发布网seo建设
  • 什么网站做前端练手好西安网页设计
  • 网站充值记账凭证怎么做广州代运营公司有哪些
  • 市体育局网站 两学一做网络推广外包要多少钱
  • 广州专业网站制作哪家专业免费建一个自己的网站
  • 扁平化网站特效建网站流程
  • 企业网站建设合同书网站服务器ip地址查询
  • 北京建设委员会网站赵广州网站优化服务
  • 提供定制型网站建设seo公司 彼亿营销
  • 临沂高端网站建设成都门户网站建设
  • 网页设计与网站建设奥鹏考试答案自己可以做网站推广吗
  • 比特币交易网站开发中国seo第一人
  • 网站一级导航怎么做天津网站排名提升
  • 如何提高网站内容质量100个电商平台
  • 网站优化要怎么做才会做到最佳谷歌优化培训
  • 做地方网站赚钱吗网络seo啥意思
  • 网站里怎样做物流跟踪功能知名的网络推广
  • 网站建设|google浏览器官网
  • 外贸联系网站seo课程
  • 网站和网站的appseo点击排名源码
  • 公共服务平台登录电影站的seo