重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MariaDB or MySQL:
成都网站建设哪家好,找创新互联公司!专注于网页设计、成都网站建设、微信开发、微信小程序开发、集团成都定制网站等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:玻璃贴膜等众多领域,积累了大量丰富的经验,同时也获得了客户的一致认可!非精准描述:
数据的存储是在硬盘上以数据流形式存在,读取文件时,文件先被加载到内存中,然后在内存中查找所需要的字段,当文件特别大时,文件无法放进内存中,而且搜索一个字段也相当浪费时间,所以数据库诞生
数据库是以某种特定格式(格式化或半格式化数据)存储, 之后可以建立INDEX(索引)来查找定位某一个数据(索引可以分多级),内存中就可以只加载索引信息,索引对应的数据存储在磁盘上则可以找到数据,大大的节约了时间
发展历史:
层次模型 --> 网状模型 --> (Codd) 关系模型
DBMS 数据库管理系统 --> RDBMS 关系型数据库管理系统
RDBMS:
范式:第一范式、第二范式、第三范式;
表:row(行), column(列);
关系运算:
选择: 挑选出符合条件的数据
投影: 挑选出指定字段
数据库概念:表、索引、视图(虚表)、SQL、存储过程、存储函数、触发器、事件调度器;
DDL
DML
约束:
主键约束:惟一、非空;一张表只能有一个;定义成为能够唯一表示一行数据在整个表中的内容的(一个字段或多个字段的组合)
惟一键约束:惟一,可以存在多个;
外键约束:参考性约束;表和表之间存在约束关系.被引用的表上存在主键,在引用表上的某一字段一定是在被引用表上存在的数据
检查性约束:check; 定义的数据的范围
三层模型:
物理层 数据以数据流形式存储在硬件上 文件系统级别 (系统工程师)
逻辑层 将数据流通过特定的结构转化成 (DBA)
视图层 可视化文本(表) (程序员)
实现:
Oracle, DB2, Sybase, Infomix, SQL Server;
MySQL, MariaDB, PostgreSQL, SQLite;
MySQL:
5.1 --> 5.5 --> 5.6 --> 5.7
MariaDB:5.5.x --> 10.x
特性:
插件式存储引擎
单进程多线程(32位系统只能使用3G内存)
安装MySQL:
OS Vendor:rpm
MySQL:
source code:cmake (编译器)
binary package: 通用二进制包
i686, x86_64;
glibc VERSION (要求glibc的版本 )
prepackage:rpm, deb
os, arch,
配置文件:
读取多处的多个配置文件,而且会以指定的次序的进行;
# my_print_defaults 查看配置生效次序
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
不同的配置文件中出现同一参数且拥有不同值时,后读取将为最终生效值;
修改默认读取的配置文件(mysqld_safe命令):
--defaults-file=file_name
于读取的默认配置文件之外再加载一个文件:
--defaults-extra-file=path
配置文件格式:ini风格的配置文件,能够为mysql的各种应用程序提供配置信息:
配置段:
[mysqld]
[mysqld_safe] 线程安全的MySQL
[mysqld_multi] 一台主机上运行多个MySQL
[server]
[mysql] 客户端配置
[mysqldump] 备份 客户端程序
[client]
...
PARAMETER:
innodb_file_per_table 有些发行版是 “-”.”_”通用的 而有些是只其中一种
innodb-file-per-table
程序文件:
服务端程序:mysqld_safe, mysqld_multi
客户端程序:mysql, mysqldump, mysqladmin 通过mysql协议能连接到mysql发起请求并获取相应的
工具程序:myisampack, ...
Yum安装的mysql启动后会自动初始化数据库 二进制格式安装则不会
mysql --> mysql protocol --> mysqld
mysql:交互式CLI工具;
mysql [options] db_name
常用选项:
--host=host_name, -h host_name:服务端地址;
--user=user_name, -u user_name:用户名;
--password[=password], -p[password]:用户密码;
--port=port_num, -P port_num:服务端端口;
--protocol={TCP|SOCKET|PIPE|MEMORY}:
本地通信:基于本地回环地址进行请求,将基于本地通信协议;
Linux:SOCKET
Windows:PIPE,MEMORY
非本地通信:使用非本地回环地址进行的请求; TCP协议;
--socket=path, -S path
--database=db_name, -D db_name:
--compress, -C:数据压缩传输
--execute=statement, -e statement:非交互模式执行SQL语句;
--vertical, -E:查询结果纵向显示;
mysql命令的使用帮助:
# man mysql
# mysql --help --verbose
sql脚本运行:
mysql [options] [DATABASE] < /PATH/FROM/SOME_SQL_SCRIPT
mysqld服务器程序:工作特性的定义方式
命令行选项
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。