更新时间:2022-06-01 23:24:40
DBMS
1) 管理数据
2)存储数据
RDBMS 关系型数据库
mysql Oracle mariadb mssql
Nosql (非关系型数据库)
redis mongdb memcache elasticsearch
rdbms:强大的查询功能,二级索引,数据的强一致性
nosql 灵活性,可扩展,性能,支持分布式
nosql 不适用sql语句 想做老大 先做好老二 并不想取代关系型数据库 是关系型数据库的补充
rdbms 二维表 支持sql语句 安全
MySQL 5.6 GA 6-12 个月 小版本是偶数版本
mysql 5.7 GA 6-12个月 小版本是偶数版本 5.7.17版本以上(MGR:自带的高可用功能)
yum rpm
编译安装(源码安装)
cs结构
客户端工具MySQL MySQLadmin mysqldump
tcp/ip
MySQL -uroot -p123 -h 127.0.0.1
socket
mysql -uroot -p (默认socket 速度快不需要建立三次握手
nysql -uroot -p123 -s
mysql -uroot -p123 -hlocalhost
一个进程+多个线程+预分配的内存结构
连接层
sql层:
存储引擎层:
库+表
表: 元数据+真实数据行
元数据: 列+其他属性
列:列名+约束
最底层的数据文件
段: 一个表就是一个段,有多个 区构成
区: 由多个页构成
页:最小单位 16k
分区表 一个区构成一个段 就是一个分区表
用户名@主机域
主机域:
192.168.50.113
192.168.50.%
192.168.%.%
192.168.0.0/255.255.255.0
%
db01
localhost
127.0.0.1
update
set
mysqladmin
grant
grant select(user) on mysql.user to dev@'% identified by '123';
/etc/my.cnf
/etc/mysql/my.cnf
$basedir/my.cnf
defults-extra-file
~/.my.cnf
优先级: 5 4 3 2 1
命令行
default-file
配置文件
~/.my.cnf
defults-extra-file
$basedir/my.cnf
/etc/mysql/my.cnf。
/etc/my.cnf
cmak编译参数
1.影响服务端的启动
2.影响客户端的连接
多个进程+多个线程+多个 预分配内存结构
1.多个的端口
2.多个数据目录
3.多个socket文件
4.多个 日志文件
5多个server_id
\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命令
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