MYSQL的历史

网络数据库

  1. MySQL
  2. mssql
  3. db2
  4. orcale
  5. Maridb

非关系型数据库

NoSQL not only sql

Hbase hadoop database

范式 - - 设计数据库的规则
第一范式 :表中的数据 不可在拆分
| 1 | zhang | 手机号 、 微信号|
| 1 | zhang | 手机号 |微信号 |

第二范式
主键

第三范式
外键
| 1 | hah |1 | nihao | 阿里

MySQL结构

MySQL查询历史视图创建记录_数据库

事务 : 一组事件全部完成或者 全部取消

事务回滚
事务四大特性:ACID
1.原子性Atomicity
一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。
2.一致性Consistency
在事务开始之前和事务结束以后,数据库的完整性没有被破坏
3.隔离性 Isolation
数据库允许多个并发事务同时对其数据进行读写和修改的能力
4.持久性 Durability
事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失
ODBC 是有C语言开发 数据库对外提供服务的API
JDBC java 专门供java使用

约束、索引

索引就是为了 加快查询

DML 数据库的管理语言 grant 授权 revoke 收权
DCL 查询语言 show 显示 select 查询 use 使用
DQL 标准查询语言
DDL 定义语言 insert 插入 update 修改 delete 删除 truncate 删除
Delete truncate 就是直接情况磁盘内容
Delete* update 内容修改成空 代替delete

主从 读写 备份 全备+增量日志 才有可能恢复人为删除的数据

MySQL二进制的三种日志格式

1.row 行
数据只要更改 我就把你更改的数据记录下来 update
2.Statement 语句
记录你执行过的语句
mysql更新了一些函数
3. mixed
根据你更改的东西 只能的选择 使用 row 或者statement

MySQL命令

mysqld_safe 启动
mysql 登陆MySQL
mysqldump 备份
mysqladmin shutdown

MYSQL的安装

创建mysql 虚拟用户
useradd -s /sbin/nologin myql

创建存放软件的文件夹
mkdir /application

解压
tar xf mysql-5.5.62-linux-glibc2.12-x86_64 -C /application/

创建软链接 ln -s mysql-5.5.62-linux-glibc2.12-x86_64/ mysql

初始化
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data

写入环境变量

vi /etc/profile
 export PATH=/application/mysql/bin:$PATH #写到最后
 source /etc/profile


启动 mysqld_safe &

查看端口号
ss -lntup

备份所有数据库
mysqldump -A -B test --events > test.sql

备份一个数据库
mysql -B test< test.sql

-A 所有数据库

-B 指定数据库

加密码(在mysql中进行)

select host,user,password from mysql.user;
 show databases;
 update mysql.user set password=password(‘123456’);

启动

mysqld_safe &
 mysql -uroot -p123456;