一、数据库简述
1、数据库(DataBase:DB):
数据库是按照数据结构来组织、储存、管理数据的仓库。
2、数据库管理系统(Database Management System:DBMS):
是专门用于管理数据库的计算机系统软件,数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
3、MIS
管理信息系统
我们一般说的数据库就是DBMS:数据库服务器。
4、关系型和非关系型数据库
关系数据库:
是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
当前主流的关系型数据库有:
MySQL、Oracle、DB2、SQL Server、PostgreSQL、MariaDB(是MySql的分支)等
非关系型数据库:
非关系型数据库,又被称为NoSQL(Not Only SQL ),意为不仅仅是SQL( Structured QueryLanguage,结构化查询语言),据维基百科介绍,NoSQL最早出现于1998 年,是由Carlo Storzzi最早开发的个轻量、开源、不兼容SQL 功能的关系型数据库,2009 年,在一次分布式开源数据库的讨论会上,再次提出了NOSQL 的概念,此时NOSQL主要是指I非关系型、分布式、不提供ACID (数据库事务处理的四个本要素)的数据库设计模式。
当前主流的非关系型(文档型)数据库有:Mongo DB、NoSql、CouchDB
两者的区别:
非关系型:
1)、成本低、基本都是开源软件
2)、查询速度快、将数据存在缓存中
3)、存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式
4)、关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。
关系型:
1)、保持数据的一致性(事务处理)
2)、由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)
3)、可以进行Join等复杂查询
其中能够保持数据的一致性是关系型数据库的最大优势。
二、SQL语言中DDL、DML、DCL、DQL是什么?
数据查询语言DQL,数据操纵语言DML,
数据定义语言DDL,数据控制语言DCL。
1、 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>
2 、数据操纵语言
数据操纵语言DML主要有三种形式:
1)、 插入:INSERT
2)、 更新:UPDATE
3)、 删除:DELETE
3、 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、索引、同义词、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
表 视图 索引 同义词 簇
4、 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1)、 GRANT:授权。
2)、 ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;
3)、 COMMIT [WORK]:提交。
三、什么是髙可用集群和负载均衡?
高可用集群:
高可用集群就是当某一个节点或服务器发生故障时,另一个 节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。在这个过程中,对于客户端来说是透明的。
高可用集群的衡量标准一般为:
99%:表示 一年宕机时间不超过4天
99.9% :表示一年宕机时间不超过10小时
99.99%: 表示一年宕机时间不超过1小时
99.999% :表示一年宕机时间不超过6分钟
高可用集群的三种方式:
1、主从方式(非对称):这种方式组建的高可用集群通常包含2个节点和一个或多个服务器,其中一台作为主节点(active),另一台作为备份节点(standy)。备份节点随时都在检测主节点的健康状况,当主节点发生故障时,服务会自动切换到备份节点上以保证服务正常运行。
这种方式下的高可用集群其中的备份节点平时不会启动服务,只有发生故障时才会有用,因此感觉比较浪费。
2、对称方式:这种方式一般包含2个节点和一个或多个服务,其中每一个节点都运行着不同的服务且相互作为备份,两个节点互相检测对方的健康状况,这样当其中一个节点发生故障时,该节点上的服务会自动切换到另一个节点上去。这样可以保证服务正常运行
3、多机方式:这种集群包含多个节点和多个服务。每一个节点都可能运行和不运行服务,每台服务器都监视着几个指定的服务,当其中的一个节点发生故障时,会自动切换到这组服务器中的一个节点上去。
负载均衡
负载均衡(Load Balance)建立在现有网络结构之上,就是指把任务分摊到多个操作单元上进行执行。四、MySql重启和查看服务状态以及授权root用户可以从任何地点登录命令
重启mysql:systemctl restart mysql 或者 service mysql restart
查看mysql服务状态:systemctl status mysql 或者 service mysql status
授权root用户:
1)、登录数据库:mysql -uroot -p(登录别人的数据库命令:mysql -h ip地址 -uroot -p)
2)、授权root用户:grant all on *.* to root@"%" identified by "root用户密码";
3)、刷新权限:flush privileges;
4)、退出数据库:exit
五、查看端口占用情况及杀死进程
查看端口占用:sudo lsof -i :3306(端口号)
查看端口是被那个程序占用:netstat -ant | grep :3306(端口号)
查看进程:ps -aux | grep [应用]
根据PID杀死进程:sudo kill -9 716(PID)