1、 数据库概述mysql
一、 数据库redis
什么是数据库:数据库,简而言之可视为电子化的文件柜—存储电子文件的处所,用户能够对文件中的数据运行新增、截取、更新、删除等操做。sql
所谓“数据库”系以必定方式储存在一块儿,能予多个用户共享、具备尽量小的冗余度,应与应用程序彼此独立的数据集合mongodb
数据库是存储数据的地方数据库
解决了几大问题缓存
1, 直接操做硬盘上的文件效率低安全
2, 经过操做文件来读写数据很麻烦服务器
3, 咱们本身的电脑上写的程序和咱们本身电脑上存储的数据都在这一台电脑上了,想和别人共享一个数据或者一个文档也是比较麻烦的,而且若是和别人共享,那么可能形成本身电脑的安全性变低了,可是公司内部的项目可能就会使用一些共同数据,这样共享起来就很麻烦并发
4, 项目项目和数据若是都在一个电脑上,若是电脑崩了,数据就很麻烦,稳定性和安全性都不够,咱们要把数据和项目分开管理memcached
数据库管理系统:是为管理数据库而设计的电脑软件系统,通常具备存储、截取、安全保障、备份等基础功能。数据库管理系统能够依据它所支持的数据库模型来做分类
二、数据库分类
两大类:关系型数据库,和非关系型数据库
2.1关系型数据库
经常使用的关系型数据库:
Oracle 数据库、mariaDB数据库、SQL server、Access数据库、其余不经常使用关系型数据库
2.2非关系型数据库
Nosql非关系型数据库小结:
1, NOSQL不是否认关系数据库,而是做为关系数据库的一个重要的补充
2, NOSQL为了高性能、高并发而生,忽略影响高性能,高并发的功能
3, NOSQL典型产品memcached(纯内存),redis(持久化缓存),mongodb(文档的数据库
)
非关系型数据库分为4种:
(1) 键值:存储数据库
(2) 列存储数据库
(3) 面向文档数据库
(4) 图形数据库
常见的非关系型数据库
(1) mecached (2)redis (3)mongDB (4)Cassandra (5)其余不经常使用非关系型数据库
root用户密码设置及忘记密码的解决方法
方法1:用SET PASSWORD命令
首先登陆MySQL,使用mysql自带的那个客户端链接上mysql。
格式:mysql> set password for 用户名@localhost = password('新密码');
例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (由于咱们将bin已经添加到环境变量了,这个mysqladmin也在bin目录下,因此能够直接使用这个mysqladmin功能,使用它来修改密码)
关于mysqladmin的介绍:是一个执行管理操做的客户端程序。它能够用来检查服务器的配置和当前状态、建立和删除数据库、修改用户密码等等的功能,虽然mysqladmin的不少功能经过使用MySQL自带的mysql客户端能够搞定,可是有时候使用mysqladmin操做会比较简单。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登陆MySQL,链接上mysql服务端。
mysql> use mysql; use mysql的意思是切换到mysql这个库,这个库是全部的用户表和权限相关的表都在这个库里面,咱们进入到这个库才能修改这个库里面的表。
mysql> update user set password=password('123') where user='root' and host='localhost'; 其中password=password('123') 前面的password是变量,后面的password是mysql提供的给密码加密用的,咱们最好不要明文的存密码,对吧,其中user是一个表,存着全部的mysql用户的信息。
mysql> flush privileges; 刷新权限,让其生效,不然不生效,修改不成功。
在忘记root密码的时候,能够这样(注意:root密码最好不要忘记,找地方记录下来,否则若是是工做中大家使用的数据库(不论是测试的仍是线上的,都是比较麻烦的事情,数据库轻易不会让你重启的,不过做为一个开发来说,你应该是没法用root用户的~~~))
#在mysql的解压目录下,新建my.ini,而后配置
#1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld]
character_set_server=utf8
collation-server=utf8_general_ci #就是一个校对规则,通常默认都是这个,若是不是就改为这个就能够了,因此直接写上就好了,这个规则后面咱们会讲的~~~
#2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
[client]
default-character-set=utf8
#3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
[mysql]
user=root
password=666
default-character-set=utf8
#若是没有[mysql],则用户在使用mysql系统自带的mysql客户端来执行mysql命令时的配置以[client]为准
重启mysql服务,让配置文件生效:
C:\WINDOWS\system32>net stop mysql
MySQL 服务正在中止..
MySQL 服务已成功中止。
C:\WINDOWS\system32>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
而后链接进入mysql,再次查看编码:
C:\Users\chao>mysql -uroot -p
Enter password: ***
mysql> show variables like "%char%";
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | F:\jj\mysql-5.6.42-winx64\share\charsets\ |
+--------------------------+-------------------------------------------+
8 rows in set (0.00 sec)