1.什么是数据库?
概念:长期存放在计算机内,有组织的、可共享的大量数据的集合,是一个数据仓‘库’
作用:保存、管理数据
【电子文件柜,用户可以对文件中的数据进行新增、截取、更新、删除等操作
存储大量数据,存储结构便于管理和访问
可以有效保障数据一致性、完整性、降低数据冗余
可以满足应用的共享和安全方面的要求
故障恢复,防止数据被破坏
数据仓库。。。
】
2.常见的数据库
关系型数据库(SQL)
MySQL、Oracle 、SQL Server、SQlite、DB2
非关系型数据库(NOSQL)
Redis、MongoDB
DBMS数据库管理系统(Database Management System)
数据管理软件、科学组织和存储数据、高效地获取个和维护数据
DBA用DBMS控制 由DB组成的DBS
【普及知识:数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。】
3.MySQL简介
概念:是现流行的开源、免费的关系型数据库
特点:
免费开源的数据库
小巧、功能齐全
使用便捷
可运行于Windows或Linux操作系统
可适用中小型甚至大型网站应用
认识:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
关系数据库,是建立在关系模型基础上的数据库 ,关系模型就是指二维表格模
型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
MySQL的运行机制
假如有一个SQL查询语句select * from table01
从支持接口进来后,进入连接池后做权限、验证等环节,然后判断是否有缓存,有则直接返回结果,否则进入SQL接口,在查询之前查询优化器进行优化。最后进行解析、查询,并通过存储引擎与文件交互。
4.名词解释
**支持接口:**不同的编程语言(标准C的API、JDBC、CDBC、.NET、PHP、Python、Perl、Ruby、Cobol)与SQL的交互
连接池:管理缓冲用户连接、线程处理等需要缓存的需求
SQL接口:接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL接口
查询优化器:
SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。
例: select uid,name from user where gender = 1;
a.先根据where 语句进行选取,而不是先将表全部查询出来以后再进行gender过滤
b.先根据uid和name进行属性投影,而不是将属性全部取出以后再进行过滤
c.将这两个查询条件联接起来生成最终查询结果。
缓存: 如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。 这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等
5.MySQL无需安装版注意事项步骤
1.解压到的是D:\Program Files\mysql-5.7.19-winx64
2.添加环境变量:我的电脑->属性->高级->环境变量
选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹
(如: D:\Program Files\mysql-5.7.19-winx64\bin )
3.新建 my.ini 文件(建一个TXT文件。然后改后缀名就行)
[mysqld]
basedir=D:\Program Files\mysql-5.7.19-winx64\
datadir=D:\Program Files\mysql-5.7.19-winx64\data\
port=3306
skip-grant-tables
#basedir表示mysql安装路径
#datadir表示mysql数据文件存储路径
#port表示mysql端口
#skip-grant-tables表示忽略密码
#3306是默认端口
4.启动管理员模式下的CMD,并将路径切换至mysql下的bin目录,然后输入
mysqld –install 就行mysql --安装mysql,添加mysql服务
成功后显示 Service successfully installed
5.输入 net start mysql; --启动mysql服务 可能会报错,报错先运行步骤6 再次重复此步骤
6.再输入 mysqld --initialize-insecure --user=mysql; --初始化数据文件
7.然后再次启动mysql 然后用命令 mysql –u root –p 进入mysql管理界面(密码可为空)
8.进入界面后更改root密码
update mysql.user set authentication_string=password('123') where user='root' and Host = 'localhost';
【最后输入flush privileges 刷新权限】
9.修改 my.ini文件删除最后一句skip-grant-tables(直接在语句前面加一个#就行)
10.重启mysql即可正常使用
6.MySQL需安装版注意事项步骤
安装关键步骤
端口设置3306(默认)
编码设置utf8
7.卸载安装
卸载
1、停止服务(我的电脑-》管理-》服务-》MySQL停止)
net stop MySQL3307
2、删除服务
启动管理员模式下的CMD,并将路径切换至mysql下的bin目录mysqld -remove
或者
sc delete MySQL3307
3、删除3307目录
4、修改注册表
清除注册表中的该MySQL3307服务,有几个地方:
a、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL 目录删除
b、HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL 目录删除
c、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL 目录删除
注册表中的ControlSet001、ControlSet002不一定是001和002,可能是ControlSet005、006之类,删除的时候都删除就可以
。
5、最好把data文件夹备份到别的地方,然后再删除、重启电脑、然后再次按照安装步骤安装新的版本
验证安装:
net start mysql
启动mysql服务
mysql -h服务器地址 -u用户名 -p密码 :登陆
mysql -u root -p
show databases; :显示db列表
use 数据库名;
:使用指定数据库
show tables;
:显示table列表
:修改登录密码update user set password=password('新密码') where user='用户名';
:刷新权限flush privileges;
? 命令名 :显示命令帮助