且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

mysql—day04-mysql(上)

更新时间:2022-06-01 23:24:40

1.什么是数据库管理系统

DBMS

1) 管理数据

2)存储数据


2.数据库管理系统的类型

RDBMS 关系型数据库

mysql Oracle mariadb mssql


Nosql (非关系型数据库)

redis mongdb memcache elasticsearch


3.关系型数据库非关系型数据库功能性能对比


rdbms:强大的查询功能,二级索引,数据的强一致性

nosql 灵活性,可扩展,性能,支持分布式


4.特点对比

nosql 不适用sql语句 想做老大 先做好老二 并不想取代关系型数据库 是关系型数据库的补充

rdbms 二维表 支持sql语句 安全


5.mysql 版本选型规则

MySQL 5.6 GA 6-12 个月 小版本是偶数版本

mysql 5.7 GA 6-12个月 小版本是偶数版本 5.7.17版本以上(MGR:自带的高可用功能)

6. MySQL安装方式

yum rpm

编译安装(源码安装)


7.MySQL服务器模型

cs结构

客户端工具MySQL MySQLadmin mysqldump


8.连接方式

tcp/ip

MySQL -uroot -p123 -h 127.0.0.1


socket

mysql -uroot -p (默认socket 速度快不需要建立三次握手

nysql -uroot -p123 -s

mysql -uroot -p123 -hlocalhost


9什么是mysql实例

一个进程+多个线程+预分配的内存结构


10 mysqld的程序结构

连接层

  • 验证用户的合法性
  • 提供两种连接方式
  • 提供一个与sql层交互的专用线程

sql层:

  • 接收连接层传来的消息
  • 检查语法
  • 检查语义
  • 解释器
  • 优化器
  • 执行器
  • 缓存
  • 记录日志binlog

存储引擎层:

  • 接收sql层传来的sql语句
  • 与磁盘交互查找数据文件,结构化成表形式返回给sql层
  • 提供一个与sql层交互的线程,


11.MySQL的逻辑结构

    库+表

表: 元数据+真实数据行

元数据: 列+其他属性

列:列名+约束


12. MySQL的物理结构

最底层的数据文件

13.段 区 页

段: 一个表就是一个段,有多个 区构成

区: 由多个页构成

页:最小单位 16k

分区表 一个区构成一个段 就是一个分区表


14 MySQL中 用户是如和定义的

用户名@主机域


主机域:

192.168.50.113

192.168.50.%

192.168.%.%

192.168.0.0/255.255.255.0

%

db01

localhost

127.0.0.1


15 mysql 修改密码

update

set

mysqladmin    

grant


16脱敏 单例级别授权


grant select(user) on mysql.user to dev@'% identified by '123';


17.配置文件读取顺序

/etc/my.cnf

/etc/mysql/my.cnf

$basedir/my.cnf

defults-extra-file

~/.my.cnf


优先级: 5 4 3 2 1


18 优先级结论

命令行

default-file

配置文件

~/.my.cnf

defults-extra-file

$basedir/my.cnf

/etc/mysql/my.cnf。

/etc/my.cnf

cmak编译参数

19配置文件的作用

1.影响服务端的启动

2.影响客户端的连接


20多实例

多个进程+多个线程+多个 预分配内存结构

1.多个的端口

2.多个数据目录

3.多个socket文件

4.多个 日志文件

5多个server_id

第四章 MySQL客户端工具及SQL语句


1.客户端命令介绍

\h or help or ? 查看帮助文档
\G 格式化查询数据
\T or tee 记录日志基于session记录只记录当前会话窗口          用法:mysql> tee /var/log/myslq.log;
\c 结束命令
\s 查看状态
\. or source 导入sql数据
\u or use 使用数据库
\q or exit or quit 退出

mysql> system ifconfig MySQL中执行linux命令

2mysqladmin

help命令的使用

mysql> help
mysql> help contents
mysql> help select
mysql> help create
mysql> help create user
mysql> help status
mysql> help show

source命令的使用

#在MySQL中处理输入文件:
#如果这些文件包含SQL语句则称为:
#1.脚本文件
#2.批处理文件
mysql> SOURCE /data/mysql/world.sql
#或者使用非交互式
mysql</data/mysql/world.sql

mysqladmin 的使用
#查看MySQL存活状态
[root@db01 ~]# mysqladmin -uroot -p123 ping
#查看MySQL状态信息
[root@db01 ~]# mysqladmin -uroot -p123 status
#关闭MySQL进程
[root@db01 ~]# mysqladmin -uroot -p123 shutdown
#查看MySQL参数
[root@db01 ~]# mysqladmin -uroot -p123 variables
#删除数据库
[root@db01 ~]# mysqladmin -uroot -p123 drop DATABASE
#创建数据库
[root@db01 ~]# mysqladmin -uroot -p123 create DATABASE
#重载授权表
[root@db01 ~]# mysqladmin -uroot -p123 reload
#刷新日志
[root@db01 ~]# mysqladmin -uroot -p123 flush-log
#刷新缓存主机
[root@db01 ~]# mysqladmin -uroot -p123 reload
#修改口令
[root@db01 ~]# mysqladmin -uroot -p123 password