MYSQL的历史
网络数据库
- MySQL
- mssql
- db2
- orcale
- Maridb
非关系型数据库
NoSQL not only sql
Hbase hadoop database
范式 - - 设计数据库的规则
第一范式 :表中的数据 不可在拆分
| 1 | zhang | 手机号 、 微信号|
| 1 | zhang | 手机号 |微信号 |
第二范式
主键
第三范式
外键
| 1 | hah |1 | nihao | 阿里
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;