-
DBMS:数据库管理系统
-
RDBMS:关系型数据库管理系统
总之:他们都是一个数据管理程序;大多都是CS架构,都有专门的通信协议进行数据交换
-
关系模型:
表(行或者列):二维关系
-
设计范式:
第一范式、第二范式、第三范式
关系运算:选择(选择行);投影(选择咧)
-
数据库—–》表——》索引—》视图(虚表)
SQL(结构化查询语言):
DDL(数据定义语言)
DML(数据操作语言)
编程接口:支持判断,选择,循环。。。
可以定义存储过程;存储函数;触发器;事件调度器;过程式编程(选择,循环)
-
数据的三层模型:
-
物理层视图:RAID。。。
-
逻辑层视图:设计表结构,数据的恢复,导入导出
-
视图层:用户视图:增删改查数据
-
关系型数据库解决方案:
-
商业版:oracle,sybase,infomix(IBM),DB2
-
开源版:MySQL,MariaDB,PostgreSQL,SQLite
-
两条路线
-
mysql常见版本:5.1—–>5.5——>5.6——->5.7
-
mariadb
总结:mysql&mariadb选用的是插件式数据存储引擎
mariadb的单进程多线程
连接线程
守护线程
-
mysql的配置文件内容简介:
-
采用的是集中式的配置,能够为mysql的各种应用程序提供配置信息
-
[mysqld]:用于mysqld这个应用程序配置
-
[mysqld_safe]:线程安全的mysqld程序配置
-
[mysqld_multi]:多实例的mysql程序配置
-
[server]:服务端程序
-
[mysql]:客户端程序
-
[mysqldump]:mysql的备份还原程序
-
[client]:表示上述配置对客户端都有效
-
参数定义
parameter = value
skip-name-resolve:跳过域名解析
-
查找配置文件的路径:
-
/etc/my.cnf—->/etc/mysql/my.cnf—–>$MYSQL_HOME/my.cnf—> –default-extra-file=/path/to/somedir/my.cnf—–> ~/.my.cnf #按此顺序找。后找的会覆盖之前找到的
安装方法
-
os vendor:rpm安装
-
MySQL:
-
rpm
-
展开可用
-
源码编译安装
-
安装之后的设定
-
为所有root用户设定密码:
mysql>set password mysql>update mysql.user set password=PASSWORD('password') where clausse;mysql>flush privileges;#mysqladmin ...
-
删除所有的匿名用户
mysql>drop user ''@'localhost';同样也可以通过mysql_sequre_installation来实现用户加密和删除
-
关闭主机名反解功能
**元数据库:mysql
user,host
-
mysql的客户端程序:
-
mysql:交互式CLI工具
-
mysqldump:备份工具;基于mysql协议向mysqld发起查询请求,,并将查到的数据转换城INSERT等写操作语句保存到文本文件中
-
mysqladmin:这是mysql的客户端专用管理工具
-
mysqlimport :数据导入工具
-
mysql的非客户端类的管理工具
-
myisamchk:myisam引擎检查工具
-
myisampack:myisam打包工具(只读),节约空间
-
客户端类的应用程序的可用选项:
-
-u;–user=
-
-h;–host=
-
-p;–password=
-
-P;–port=
-
–protocol={tcp|sock}
-
-S;–socket=
-
-D;–database= #默认数据库
-
-C;–compress #压缩
-
mysql -e "SQL" #非交互格式执行sql
-
获取程序的默认配置:
-
mysql –print-defaults #不详细
-
mysqld –print-defaults #详细
-
mysql的使用模式:
-
交互式模式
-
可运行的命令有两类:
-
客户端命令:\h,help
-
服务器端命令:需要语句结束符
-
脚本模式
-
mysql -uUSERNAME -pPASSWORD < /path/from/somefile.sql
-
mysql>source /path/from/somefile.sql
-
mysql的服务器端(mysqld):工作特性有多重定义方式
-
命令行选项
-
配置文件参数
[root@localhost ~]# mysql --verbos --help #查看所有帮助信息
-
获取运行中的mysql进程使用各参数及其值:
MariaDB [(none)]> show variables;
注意:其中有些参数支持运行时修改,会立即生效;有些参数不支持,切只支持修改配置文件然后重启服务才能生效
有些参数的作用域是全局的,切不可修改;有些可以为每个用户提供单独的设置
-
修改服务器参数的值:
MariaDB [(none)]> help set; #查看set的帮助信息Name: 'SET' Description: Syntax: SET variable_assignment [, variable_assignment] ... variable_assignment: user_var_name = expr | [GLOBAL | SESSION] system_var_name = expr | [@@global. | @@session. | @@]system_var_name = expr
-
全局变量的修改:
MariaDB [(none)]> set global system_var_name = value;MariaDB [(none)]> set @@global.system_var_name=value;
-
会话变量的修改:
MariaDB [(none)]> set [session] system_var_name=value;MariaDB [(none)]> set @@[session.]system_var_name=value;
-
状态变量(不能修改的):
MariaDB [(none)]> set global status;MariaDB [(none)]> set [session] global status;
原创文章,作者:wanghui,如若转载,请注明出处:http://www.178linux.com/66454
评论列表(1条)
看样子整理的只是笔记,希望有自己的理解过程和实验步骤。