MySQL数据库基础练习系列目标 很多学生或者说是初学者在学习完成数据库的基础增删改查后就自认为在数据库这里就很熟悉了,但是不接触项目根本部知道需求,我这里准备了50个项目的基本需求来让大家来熟练各类项目的列信息 数据库环境 MySQL版本:5.7.31-log 数据库字符集,所有数据库通用字符集与排序规则,支持中文数据。 Navicat Premium 15,可以在下面的连接中下载 https://download.csdn.net/download/feng8403000/89403778 项目名称与项目简介 在线投票系统是一个用于在线进行各种投票活动的平台 通过该系统,用户可以方便地发起各种主题的投票活动,并邀请其他用户参与,从而收集到大量的用户反馈和意见。 系统的主要功能包括: 用户管理:支持用户注册、登录、修改个人信息、密码重置等功能。 数据库建表的三范式(3NF,Third Normal Form)是关系型数据库设计的基本原则,用于确保数据库结构的逻辑性和减少数据冗余。
:192.168.210.137:3311双主备库:192.168.210.137:3310 从库2:192.168.210.137:3312从库3:192.168.210.137:3313从库优先级: 和dn_02的双主备库,dn_01从库1和dn_02备库的general.log如下:从库不可用从机读取优先级的值为1时,当从库不可用时,会根据异常处理策略设置的值匹配对应结果,以上述自动分片表rw_b_yds 不可用 读dn_01主库,dn_02备库 只有dn_02备库不可用 读dn_01从库1,dn_02主库 dn_01从库1和dn_02的备库都不可用读dn_01和dn_ _01从库1,dn_02主库 dn_01的从库1和从库2都不可用 读dn_01从库3,dn_02备库 dn_01所有从库和dn_02的备库都不可用读dn_01和dn_02主库 4.异常处理策略配置为读其他可用从机 dn_01从库3,dn_02备库从库复制延迟大于配置值从库复制延迟大于配置时,跟上述中从库不可用的匹配结果一致,此处不再赘述从库数量小于从机读取优先级的值根据异常处理策略设置的值输出对应结果,以上述自动分片表
在功能上,DN节点负责完成CN分发的执行请求GTM Node (Global Transaction Manager):负责集群事务信息的管理,以及集群的全局对象(如序列)系统要求硬件要求:内存:最低4GB RAM操作系统:OpenCloudOS 9服务器:腾讯云CVM实例软件依赖:gcc make readline-devel zlib-devel openssl-devel uuid-devel bison 更新系统并安装依赖包由于OpenCloudOS支持dnf和yum两种包管理软件,强烈推荐用户更多地使用dnf,我们使用dnf来安装依赖:# 更新系统sudo dnf update -y# 安装OpenTenBase vkGc9jehXXIzfXSJ2+ZAnFP5IDvIc.5. 创建数据库和表-- 创建测试数据库CREATE DATABASE testdb;-- 创建用户CREATE USER testuser WITH PASSWORD 'testpass';-- 授权ALTER
准备讲解了,这里就直接放代码吧。 #pragma once #include "EventLoop.hpp" #include "Accept.hpp" #include "EventLoopThreadPool.hpp" #include "InetAddr.hpp" #include "nocopyable.hpp" #include "callback.hpp" #include <string> #include <functional> #include <atomic> #include <
print(a[-1],a[-2],a[-3],a[-4],a[-5],a[-6])
经常看到各种技术文章或者分布式系统介绍说系统的可用性达到了多少个9,那么所谓”几个9“到底是怎么计算的?又意味着什么?我们简单计算分析下看看。 所谓”1个9“是指90%,”2个9“是指99%,”3个9“是指99.9%,依次类推。 可用性的反面是故障时间,网站或者分布式系统会因为很多原因导致不可用,比如:程序bug;运维更新错误;环境配置升级变化;机器硬件故障;被恶意攻击;网关不小心踢掉了网线/电源插座;市政施工挖断了光纤;程序猿删库跑路 如果按照年为单位计算系统的故障时间,公式如下: 故障时间秒数=(1-可用性) * 365 * 24 * 3600 计算10个9以内的情况得到如下结果: 99.jpeg 可见,如果只有 1个9的可用性,体验是极其糟糕的,1年下来有1个多月不能使用。
模块其实是对你包含所定义函数的文件,可以进行引入 OS模块 什么是OS模块,OS模块就是operating system的缩写,意思是操作系统。 具体点就是市面上的系统很多如Linux,Windows,Unix,macOS,这些操作系统,如果把代码移到不同的平台可能会产生一些错误,但是有了OS模块后,就不怕啦。 ? ‘’\\‘’这个是转义然后可以运行,嫌麻烦直接‘’/‘’ 这个,记住自己系统里有乃个盘,不要照着我这个输入,结果报差错,没有I这个盘。 小爬虫“listdir(path='.')”
该用例完成用户订购酒店的整体过程。 用户可搜索酒店,得到搜索表单。再根据搜索表单选择满意的酒店和房间类型。 最后验证预定,完成整个过程。
目录[-] functools 作用于函数的函数 functools 模块提供用于调整或扩展函数和其他可调用对象的工具,而无需完全重写它们。 装饰器 partial 类是 functools 模块提供的主要工具, 它可以用来“包装”一个可调用的对象的默认参数。它产生的对象本身是可调用的,可以看作是原生函数。它所有的参数都与原来的相同,并且可以使用额外的位置参数或命名参数来调用。使用 partial 代替 lambda 来为函数提供默认参数,同时保留那些未指定的参数。 Partial 对象 下面列子
虽然有时可以用fmt库输出一些信息,但是灵活性不够。Go 标准库提供了一个日志库log。本文介绍log库的使用。 快速使用 log是 Go 标准库提供的,不需要另外安装。 log库还定义了一个Lstdflag,为Ldate | Ltime,这就是我们默认的选项。 自定义 实际上,log库为我们定义了一个默认的Logger,名为std,意为标准日志。 总结 log实现了一个小巧的日志库,可供简单使用。本文介绍了它的基本使用,简单地分析了一下源码。 如果log库的功能不能满足需求,我们可以在它之上做二次封装。看煎鱼大佬的这篇文章。 除此之外,社区也涌现了很多优秀的、功能丰富的日志库,可以选用。 参考 log官方文档
一、数据库的所有表 数据库共分为三个表: users(用户表,用来存储用户的信息) clazzs(班级表,用来存储每个班级的信息) students(学生表,用来存储每个学生的信息) 二、表中的字段 在上面的
Rocky Linux 9 系统下安装Nginx大家好,我是星哥,Nginx 凭借其高性能、低资源消耗以及优秀的反向代理能力,已成为 Web 服务部署的主流选择之一。 本文将带你在 Rocky Linux 9 系统下从零开始安装并配置 Nginx 服务,适合初学者和运维爱好者快速上手。 /refs/heads/main/shell/Rocky_Linux_9_Dnf_Install_Nginx.shsh Rocky_Linux_9_Dnf_Install_Nginx.sh# 主要功能介绍 EPEL# 更新系统dnf update -y# 安装 EPEL 仓库(以防依赖)dnf install epel-release -y二、安装 Nginx启动并设置开机自启dnf install nginx 系统中部署了 Nginx,并完成了基本的服务启动与防火墙配置。
目录 概述 1、一对多 2、多对多 3、一对一 多表查询概述 多表查询分类 1、连接查询 2、子查询 ---- 概述 项目开发中,在进行数据库表结构关系设计时,会根据业务需求及业务模块之间的关系,分析设计表结构
使用mysqlbinlog连接远程实例获取binlog文件并解析出其中的SQL语句,然后交由计算节点执行,从而将某个数据库的增量数据导入到计算节点某个逻辑库下。 dbremapping @@add@期望被导入的数据库名:逻辑库名 然后使用mysqlbinlog语句执行选中部分的binlog中SQL语句,要求使用如下语法与参数: mysqlbinlog -R -h 例如希望将192.168.200.77:3306中的物理库db01导入计算节点192.168.210.30中的逻辑库logicdb01: 1.先至192.168.210.30登入到管理端口3325,执行 若源端数据库名与计算节点的逻辑库名不相同,则需要在管理端口先添加数据库映射关系,例如: dbremapping @@add@db01:logicdb01 然后到计算节点(192.168.210.32)所在服务器上执行如下命令 7.核对数据同步的正确性:此时需要进行必要的短时停服,中断业务系统向数据库的写入操作。通过人工在源端执行一条特殊数据后查看该条数据是否已经同步。
是 参数说明 sql执行超时时间(秒) 默认值 3600 最小值 1 最大值 28800 Reload是否生效 是 参数作用: 计算节点从往存储节点发送SQL到接收完SQL执行结果的最大时间(包括单库和跨库 若设置为0,程序异常退出不会持久化,若配置的值大于0,则可以定时持久化到数据库,重启也能累计。 在客户端执行SQL语句,会把相关命令统计在配置库中。当设置为0时,则不统计到配置库。 | 5 | master | | 600004 | write | | 600007 | write | | 600013 | write | +--------+--------+ 9 ,其他关联从库是否同步CHANGE MASTER到接管服务的新主库 默认值 1 Reload是否生效 是 参数设置: <property name="switchSlaveMasterInFailover -- 控制当前主库切换至其他可用从<em>库</em>时,其他关联从<em>库</em>是否同步CHANGE MASTER到接管服务的新主库 --> 参数作用: 参数开启时,发生故障或切换的存储节点对象如果有级联从<em>库</em>,就将级联从<em>库</em>change
点击"开始搭建"后,系统会自动对存储节点搭建主从复制关系。 29.344 INFO [HeartbeatTimer] (BackendDataNode.java:405) -found candidate backup for datanode 5 :[id:9, :57:29.344 INFO [pool-1-thread-1020] (CheckSlaveHandler.java:241) -slave_sql_running is Yes in :[id:9, 15:57:29.424 WARN [pool-1-thread-1066] (BackendDataNode.java:847) -datanode 5 switch datasource 5 to 9 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 18:a9:
另一类是关系集群数据库可视化管理平台用户,用于管理配置信息。此章节将着重介绍计算节点用户相关内容。 基础权限 计算节点数据库用户必须被赋予逻辑库的权限,才能访问逻辑库。 权限范围分为全局权限、逻辑库权限及表权限: 全局权限:拥有全局权限的user对所有逻辑库下的所有对象都拥有指定的权限。 逻辑库权限:拥有逻辑库权限的user对该逻辑库下的所有对象拥有指定权限。 表权限:表权限又分为表允许权限和表拒绝权限。 *:某库下的所有表,db_name为逻辑库名; *.tbl_name:所有库下的某张表,tbl_name为表名; db_name.tbl_name:某库下的某表; where_condition用于控制用户可以访问的行数据条件 select hex(aes_encrypt('SDcrtest',unhex(md5('Hotpu@2013#shanghai#2017'))))查询到keyStorePass值,然后填写C43BD9DDE9C908FEE7683AED7A301E33
参数说明:组名:输入存储节点组命名连接用户:有权限访问该物理库的用户名连接用户密码:有权限访问该物理库的用户密码物理库名称:存储节点中可引用的数据库名称,例如“db01”备份用户:(选填)用于备份该物理库的用户名备份用户密码 :(选填)用于备份该物理库的用户密码字符集:被连接的物理库字符集,默认utf8mb4最大连接数:物理库最大连接数,默认4200初始连接数:物理库初始连接数,默认32最大空闲连接数:物理库最大空闲连接数, 默认则由程序自动判断主从关系第六步: “操作”栏“…”更多按钮中展开的参数默认不做修改,直接使用存储节点组中的参数值或系统自带默认值即可。若有特殊要求,可点击编辑内部参数。 当主库、从库GTID不一致,但主库、从库UUID一致且主库GTID比从库多,可直接搭建复制。当主库、从库GTID不一致且从库GTID比主库多,会给出错误提醒,并给出确认按钮提示是否需要导出导入数据。 不显示其他说明若是双主带从的数据节点进行主从搭建,如未给从库执行备库为主,则默认从库的master都为主库。
SQL语法支持 DML语句 在关系集群数据库中,DML语句的逻辑将变的更为复杂。计算节点将DML语句分为两大类:单库DML语句与跨库DML语句。 在使用计算节点的时候,尽量使用单库的DML语句。 上面的例子,描述的仅仅是简单单表的SELECT单库与跨库查询。 对于子查询语句,需要查询多个数据节点的数据时,称之为跨库子查询;只需要单个数据节点的数据时,称之为单库子查询。 计算节点对单库JOIN的查询支持功能,与单库SELECT语句支持功能一样。 当设置参数0时,只允许删除空库,若库中有表则删除库失败。 且同时开启回收站功能,删除库中表后再删除库时提示: 设置enableDropDatabase=1,库中有表或开启回收站后删除表,均可以成功删除库: TRUNCATE与RENAME语句 存储节点语句类型
."','"..math.random(1,9).."','"..math.random(1949,2013).."-0"..math.random(1,9).. .."','"..math.random(1,100).."','"..math.random(1,9).."','"..math.random(1,9).."')") -----------------+---------------+ | 10-10 | 0 | ,0:1,1:1,2:1,3:1,4:1,5:0,6:0,7:1,8:1,9: 若使用MGR配置库,则需要设置为对应MGR配置库的信息且保证MGR配置库实例的复制关系正常,且互为MGR,当主配置库发生故障时会自动切换到新的主配置库。MGR配置库最多支持3个。 以下四个场景举例说明: 数据准备: 开启XA 逻辑库A,默认节点为1,2;逻辑库B,默认节点为2,3,4 逻辑库A创建表a;逻辑库B创建表b;两张表的表结构一致 表a中插入1000条数据;表b无数据 场景一