random recording 随心记录
What seems to us as bitter trials are often blessings in disguise.
看起来对我们痛苦的试炼,常常是伪装起来的好运。
应用ts+koa+mysql构建高可维护性和扩展性架构
数据库基础
定义和特点
数据库就是按照特定格式存储数据的文件集合,可以对存储的数据进行增删改查操作。
数据库管理系统(DBMS)
用户与操作系统间使用和维护数据库的数据管理软件,如:mysql,oracle,mssql
分类
分为关系型数据库和非关系型数据库。
关系型数据库
由多张可连接的表组成的数据库。
优点
- 使用表结构,格式一致,易于维护
- 提供成熟SQL语言操作
- 支持事务,表关联外键,充分保证数据安全,数据完整性
- 数据存储在硬盘中,丢失风险低
缺点
- 存储在硬盘中,读写性能差,不能满足海量数据的高效率读写,但可以经过优化提高海量数据查询速度,如订单表中按月自动拆分订单,可以较大提高海量数据查询,对于高并发场景,可以分库,建立mysql集群。
分布式和集群
分布式是将不同业务分布到不同地方,集群是将多态服务器集中一起,实现同一业务。
非关系型数据库
优点
- 数据库存储格式可以为key-value对象,数组,文档,图片,关系型只支持基础类型和少量集合
- 速度快,效率高,适合海量数据访问
- 支持分布式
缺点
- 没有sql支持,维护成本高
- 没有事务处理,表关联,无法保证数据完整性和安全性,不适合处理安全要求高的场景,如银行
- 没有关系型完善
MySQL8 安装和配置
下载步骤
打开mysql官网,点击downloads
进入之后,点击社区版下载
点击左侧,community server
点击第一个下载
下载完之后,解压即可
配置步骤
进入目录,新建data文件夹和my.ini文件
my.ini文件
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\mysql-8.0.31-winx64 # 切记此处一定要用双斜杠
# 设置mysql数据库的数据的存放目录
datadir=C:\mysql-8.0.31-winx64\\data # 此处同上
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集为UTF8MB4
character-set-server=UTF8MB4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端字符集
default-character-set=UTF8MB4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=UTF8MB4
设置mysql环境变量
以管理员身份打开cmd或者powershell,输入命令
mysqld --initialize-insecure
mysqld --install 服务名字 --defaults-file=“my.ini文件路径”
net start 服务名 启动mysql服务
至此,mysql安装和配置结束