Linux_MySQL二次整理(1)

发布时间:2020-07-20 00:13:32 作者:zx337954373
来源:网络 阅读:276

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

Linux_MySQL二次整理(1)
Linux_MySQL二次整理(1)

 Linux_MySQL二次整理(1)
 

特性:

插件式存储引擎

单进程多线程(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服务器程序:工作特性的定义方式

命令行选项


推荐阅读:
  1. mysql 基本命令整理(1)
  2. 数据库知识点整理1

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql inux

上一篇:php关联数组和索引数组差别

下一篇:业务相关同步机制

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》