一、数据库介绍
1、什么是数据库?
定义:数据库是存放数据的电子仓库。
2、是以某种方式存储百万条,上亿条数据,提供多个用户访问共享。
3、每个数据有一个或多个api用于创建,访问,管理和复制所保存的数据。
api就是接口
如:例如注册:输入名字,手机等通过接口传输到数据库中保存
4、系统中很多动态数据都存储在数据库中,需要通过访问数据库才能显示;
二、数据库的类型
1)关系型数据库
定义:数据库中表与表之间存在某种关系,数据存储在不同的表中
常见的关系型数据库:
(1)db2 IBM 公司
(2)oracle oracle 公司
(3)mysql oracle公司收购 (我们学习的mysql)
(4)sql server
特点:
a、安全
b、保持数据的一致性
c、实现对表与表进行复杂的数据查询
2)非关系型数据库
定义:通常数据是以对象的形式存储在数据库中
常见的非关系性数据库:
1、hbase (列模型)
2、redis (键值对存储)用的比较多
3、mongodb (文档类型)
特点:
a、效率高
b、容易扩展
c、使用更加灵活
三、mysql介绍
1、mysql的定义
mysql是关系型数据库管理系统,我们常说的xxx数据库就是指xx数据库管理系统。
2、mysq数据库是有瑞典mysql db公司开发,目前属于oracle 公司,(甲骨文)
3、在web应用方面(bs架构上),mysql是最好的关系型数据管理系统
4、特点:
a.体积小
b.开源,免费
c、使用c++编写
d、支持多系统
e、支持多引擎
f、msyql与其他工具组合可以搭建免费的网站系统
lamp=linux+apache+mysql+java
lnmp=linux+nginx+mysql+php
5、mysql的应用结构:
(1)单点数据库:使用于小规模应用(我们现在学的)
(2)复制:适用于中小规模的应用
(3)数据库集群,适合大规模的应用
比如:mgr集群,三主三从,一主三从;
6、数据库中术语:
(1)数据库、(2)数据表、(3)列、(4)行、(5)值、(6)字段名、(7)字符类型、(8)冗余、(9)主键、(10)外键、(11)视图、(12)索引、(13)单表、(14)多表(15)存储过程
四、mysql安装(重新安装):
(需要用到root用户)
1、安装前查看是否已安装过
1)在linux中输入命令:rpm -qa | grep mysql (查询Linux系统中有没有残留的mysql包)
2)输入命令yum remove mysql *(在线删除已存留的包)
3)输入命令: rpm -qa | grep mysql(再次查询有没有没有删除干净的包,之前安装过的会有一个删除不掉)
4)输入命令:rpm -e --nodeps + mysql -libs -5.1.73-8.e16_8.i686(包名)
5)再输入命令: rpm -qa | grep mysql查看已删除干净
2、开始安装
1)输入yum install mysal(安装mysql客户端)
2)输入:yum install mysql-server(安装mysql服务端)
3)输入:rpm -qa | grep mysql +回车(看到出现下面三个包就表示已下载安装完成)
4)开启mysql数据库
service mysqld start(开启数据库)
5)如果开启有问题可以试试下面四个命令(分别是开启、停止、开启、重启)
6)第一次使用需要设置密码
1)输入命令:mysqladmin -u root password 'xxxxxx'(设置密码)
五、使用MYSQL数据库
1)进入数据库
输入命令:mysql -u root -p
enter password处输入密码:xxxxxx(输入时不可见)
最下方出现 mysql> 表示已经进入数据库
2)查看已有数据库:
show databases;
(每次输入完命令需要在结尾加上英文分号 ;
3)创建一个新的库:
create database + 库名
show databases; 查看是否已创建好
4)使用库: use + 库名
5)创建表:
create table +表名(字段名1 字段类型2,字段名2 字段类型2,字段名3 字段类型3)
show tables; (查看所有已创建的表)
六、mysql连接navicat
1)授权
(在mysql中操作,可以连接外部工具Navicat )
授权后需要刷新权限
2)连接navicat需要关闭防火墙(在Linux中操作)
3查询虚拟机ip地址
ifconfig
4、navicat连接mysql
点击确定连接,显示如下(双击库名)
打开查询中,新建查询
七、解决问题:
注意点:如果连接不上
1、关闭防火墙 service iptables stop (在linux中操作)
2、 开启数据库 service mysqld start (在linux中操作)
3、授权(在mysql中操作)
grant all privileges on *.* to root@'%' identified by "123456"
4、授权以后要刷新
flush privileges (在mysql中操作)
5、检查连接数据库的参数的正确性如:ip地址,密码,用户名等
6、密码设置错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YSE)
(1)也是修改密码
解决办法
第一步:关闭mysql
第二步:mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
第三步: UPDATE user SET Password=PASSWORD('123456') where USER='root';
第四步: FLUSH PRIVILEGES;
(在linux中操作)