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

毕业设计做网站用php好吗某企业电子商务网站建设

毕业设计做网站用php好吗,某企业电子商务网站建设,数字广东网络建设有限公司介绍,长岛网站建设费用文章目录 前言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 Shell1.3 配置 MySQL 实例1.4 启动 ReplicaSet1.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 Server8.0.32 IPhostnameRole172.16.104.56172-16-104-56Master172.16.104.57172-16-104-56Secondary vi /etc/hosts 172.16.104.56 172-16-104-56 172.16.104.57 172-16-104-571.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_shell172-16-104-55:3306, {clusterAdmin: rw_shell%}) dba.configure_replica_set_instance(rw_shell172-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_shell172-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_shell172-16-104-56:3306 \--directory /data/myrouter \--conf-use-sockets \--account op_router \--userroot此时 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 -prw_shellmysql 17:21: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-57 | --------------- 1 row in set (0.01 sec)rw_shellmysql 17:22: [(none)]begin; Query OK, 0 rows affected (0.01 sec)rw_shellmysql 17:22: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-56 | --------------- 1 row in set (0.01 sec)rw_shellmysql 17:22: [(none)]commit; Query OK, 0 rows affected (0.00 sec)rw_shellmysql 17:22: [(none)] rw_shellmysql 17:22: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-57 | --------------- 1 row in set (0.01 sec)从上面的实验我们可以看到默认情况下如果执行读取操作我们将到达复制节点但如果启动事务我们将到主节点而无需更改端口并使用相同的连接。 rw_shellmysql 17:25: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-57 | --------------- 1 row in set (0.01 sec)rw_shellmysql 17:25: [(none)]start transaction read only; Query OK, 0 rows affected (0.02 sec)rw_shellmysql 17:26: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-57 | --------------- 1 row in set (0.01 sec)启动事务类型为只读事务的话也会直接到复制节点。 rw_shellmysql 17:32: [(none)]ROUTER SET access_moderead_only; Query OK, 0 rows affected (0.00 sec)rw_shellmysql 17:32: [(none)]select hostname; --------------- | hostname | --------------- | 172-16-104-57 | --------------- 1 row in set (0.02 sec)rw_shellmysql 17:33: [(none)]ROUTER SET access_moderead_write; Query OK, 0 rows affected (0.00 sec)rw_shellmysql 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://www.pierceye.com/news/238682/

相关文章:

  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱
  • 专业做公司logo的网站谷歌网站推广方案
  • 公司网站建设情况说明网站开发用php好吗
  • 网站做关键词库的作用空间怎么做网站
  • 制作网站公司名称网络营销与策划实践报告
  • 哈尔滨手机网站建设价格低长沙网业公司
  • 如皋网站建设公司网站推广优化排名
  • 行业网站方案网站搭建合同
  • 如何用ps做网站图标吉林省长春市建设局网站
  • 北京高端网站建设服务广州百度快速排名优化
  • 电子商务网站开发课程设计网站建设石家庄
  • 好的公司网站有什么用烟台建设集团招聘信息网站
  • 网站制作需要多长时间网站代建设费用
  • 淘宝客网站设计台州建设银行官方网站
  • 婚纱网站建设规划书2023全国企业公司大黄页
  • 网站seo的关键词排名怎么做的wordpress 在线留言
  • 建一个c2c网站要多少钱小程序云开发文档
  • asp网站合法上虞网站设计
  • 网站 用什么数据库蛋糕店网站建设方案
  • 网站上的动效是用ae做的网站开发实训小结
  • wordpress建站怎么上传网站没有备案信息该怎么做
  • 沈阳网站推广有什么技巧软件开发工具通常也称为什么工具
  • 黑龙江龙采做网站如何网站建设制作解决方案
  • 百度推广自己做网站吗网页设计软件下载网站
  • wordpress内核源码分析南宁网站优化推广
  • 物流网站做那个好服务器怎么安装WordPress
  • 网站开发怎么兼容浏览器中国优秀设计网站有哪些内容
  • 黄冈网站官方登录平台做网站的条件
  • 潍坊网站建设推广公司网站建设类的手机软件