RDBMS:关系型数据库管理系统mysql
S/C:经过专有协议
sql
关系模型:表(行,列),二维关系
数据库
范式:第一范式、第二范式、第三范式:
编程
关系运算:
服务器
选择
多线程
投影
socket
数据库:表,索引,视图(虚表)
ide
SQL: Structure Query Language
函数
DDL,DML
工具
编程接口:
存储过程
存储函数
触发器:
事件调度器
过程式编程:选择\循环
三层模型:
物理层:
逻辑层:
视图层:
解决方案:
Oracle,sybase,Infomix,DB2
MySQL,MariaDB,PostgreSQL,SQLite
MySQL-->5.1-->5.5-->5.6-->5.7-->5.8
MriaDB
插件式存储引擎
MySQL:查看存储引擎命令:show engines;
单进程多线程:
链接线程
守护线程
配置文件:集中式的配置,可以为mysql的各应用程序提供配置信息
[mysqld]
[mysqld_safe]
[mysqld_multi]
[server]
[mysql]
[mysqldump]
[client]
parameter - value
skip-name-resolve
skip_name_resolve
查找路径:/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf
安装方法:
os vendor:rpm
MySQL:
rpm
展开可用
源码安装
安装后的设定:
(1)为ROOT用户设定密码:
mysql> SET PASSWORD
mysql> update mysql.user SET password-PASSWORD('密码‘) WHERE
CLUASE;
(2)删除全部匿名用户
myslq> DROP USER ''@'LOCALHOST';
上述两步骤可运行命令:mysql_secure_installation
(3)建议闭主机名反解功能
元数据数据库:mysql
user,host等;
mysql --> mysqld
客户端程序
mysql:交互式的CLI工具:
mysqldump:备份工具,基于mysql协议向mysqld发起查询请求,病将查询的全部数据转换成insert等写操做语句保存文本文件中;
myslqadmin:居于mysql协议管理mysqld;
mysqlimpor:;数据局导入工具;
非客户端工具:
myisamchk,myisampack
如何获取程序默认配置:
mysql --print-defaults
mysqld --print-defaults
客户端类应用程序可用选项:
-u,--user=
-h,--host=
-p, --password=
-P, --port=
--protocol=
-S, --socket=
-D, --database=
-c,--compress
mysql -e 'SQL语句'
msyql的使用模式:
交互式模式:
可运行命令有两类:
客户端命令:
\h,help
服务器端命令:
SQL,须要语句结束符;
脚本模式:
#myusql -uUSERNAME -hHOST -pPASSWOERD < /PATH/FROM/SOMEFILE.SQL
mysql> source /path/from/somefile.sql
服务器端(mysqld):工具特性有多种意义方式
命令行选项
配置文件参数
获取可用参数列表:
mysqld --hepl -- verbose
获取运行中的mysql进程使用各服务器参数及其值:
mysql> SHOW GLOBAL VARIABLES;
mysql> SHOW SESSION VARIABLES;
注意:其中有些参数支持运行时修改,会当即生效,有些参数不支持,且之恩那个经过修改配置文件,并重启服务才能生效。
有些参数做用域是全局的,且不可修改,有些能够为每一个用户提供单独设置;
修改服务器变量值:
mysql> help SET;
全局:
mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;
会话:
mysql> SET GLOBAL system_var_name=value;
mysql> SET @@global.system_var_name=value;
状态变量:用于保存mysqld运行中的统计数据的变量;
mysql>SHOW GLOBAL STATUS;
mysql>SHOW [SESSION] STATUS;