原文: http://blog.gqylpy.com/gqy/241
"
目录
#. 概述
1. 什么是数据(Data)
2. 什么是数据库(DataBase, 简称DB)
3. 什么是数据库管理系统(DataBase Management System)
4. 数据库管理软件分类
5. 记录、表、数据库、数据库系统与数据库服务器的关系
6. MySQL介绍
#. 安装
#. 配置
1. 设置密码
2. 忘记密码之破解
3. 统一字符编码(UTF-8)
#. 概述
1. 什么是数据(Data)
描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机.
在计算机中描述一个事物,就需要抽取这一事物的典型特征,组成一条记录,就相当于文件里的一行内容。(如:1 zyk, male, 19, 山东, 计算机系, 2018, oldboy)
单纯的一条记录并没有任何意义,如果我们按逗号作为分隔,依次定义各个字段的意思,相当于定义表的标题:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/8ed4d506-15cd-402c-a659-27e5063021bc.png)
这样通过表格我们很清楚的知道了某人的详细信息。
2. 什么是数据库(DataBase, 简称DB)
数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.
过去的人们将数据存放在文件柜里,现在数据量庞大,已经不在适用.
数据库是长期存放在计算机内、有组织、可共享的数据即可.
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和扩展性,并为各种用户共享.
3. 什么是数据库管理系统(DataBase Management System)
在了解的Data与DB的概念后,如果科学地组织和存储数据,如何高效获取和维护数据成了关键.
这就需要用到数据库管理系统,如:MySQL、Oracle、SQLite、Access、MS SQL Server.
MySQL主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码、免费的,它现在是甲骨文公司的产品.
Oracle主要用于银行、铁路、飞机场等。该数据库更能强大,软件费用高,也是甲骨文公司的产品.
SQL Server是微软公司的产品,主要用于大中型企业,如联想、方正等。
4. 数据库管理软件分类
两大类:
- 关系型:如sqllite、db2o、racle、access、sql server、mysql,注意:SQL语句通用
- 非关系型:mongodb、redis、memcache
可以简单的理解为:关系型数据库要有表结构;非关系型数据库是key-value存储的,没有表结构.
5. 记录、表、数据库、数据库系统与数据库服务器的关系
- 记录:多个字段的信息组成一条记录,即文件中的一行内容(如:1 xxx 1760039xxx 19)
- 表:一个文件
- 数据库:一个文件夹,文件夹里存放文件(表)
- 数据库管理系统:一个软件(如:MySQL)
- 数据库服务器:一台计算机(对内存要求比较高)
6. MySQL介绍
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下公司.
MySQL是最流行的数据库管理系统,在Web应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一.
MySQL是一个基于socket编写的C/S架构的软件.
#. 安装
(本文使用windows系统安装MySQL)
1. windows版本安装,下载地址:https://dev.mysql.com/downloads/mysql/
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/0034d410-64b6-414e-9cea-9a2e127d24ef.png)
2. 针对不同的操作系统下载不同的版本:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/3b35063f-87c5-4c1c-9dc4-a4c3f1c33cd1.png)
3. 解压:如果想要把MySQL安装在指定的目录,那么就将解压后的文件夹移动到指定的目录.(如:C:\mysql-5.7.22-winx64)
4. 添加系统环境变量:【右键计算机】--> 【属性】 --> 【高级系统设置】 --> 【高级】 --> 【环境变量】 --> 【在第二个内容哭那个中找到变量名为Path的一行,双击】 --> 【将MySQL的bin目录路径追加到变量中后面,用";"与前面的值分隔】
5. 初始化数据库: mysqld --initialize-insecure
6. 启动MySQL服务:mysqld
7. 启动MySQL客户端并连接MySQL服务端(新开一个cmd窗口):mysql -u root -p
上一步解决了一些问题,但不够彻底,因为在执行【mysqld】启动MySQL服务器时,当前终端会被hang住。
将MySQL服务制作成windows服务可解决此问题:
# 制作MySQL的windows服务,在终端执行此命令
"c:\mysql-5.6.40-winx64\bin\mysqld" --install# 移除MySQL的Windows服务,在终端执行此命令
"c:\mysql-5.7.16-winx64\bin\mysqld" --remove
#. 配置
1. 设置密码
管理员为root(其拥有最高权限),在windows下root用户默认密码为空,以无密码的方式登陆使用是非常危险的一件事情,所以要为管理员账号设置较为复杂的密码.
登陆:-u后面跟用户名,-p后面跟密码
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/2d6f1134-a3b3-4d0d-9380-70e04683cefd.png)
可使用MySQL自带的函数查看当前登陆的账号:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/2c6164be-1a96-4060-a353-46ef0f0d6aa2.png)
更改root密码:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/f1473e9c-a65e-4037-912f-ae79c24f3c8f.png)
ps:回车后的提示不用管它,翻译为:在命令行界面使用密码不安全,暴露在终端当中.
2. 忘记密码之破解
思路:跳过授权方式,直接登陆.
1. 以管理员身份打开cmd
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/ccc79609-904c-4876-9600-c6290ed337c3.png)
2. 停掉MySQL服务端:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/ac8c9b81-715c-4045-9e98-9c734f0022e8.png)
3. 执行如下命令跳过授权表:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/ed7be5df-00cf-4cb4-840d-bafb9f1fd90e.png)
4. 在此查看
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/7b1b88cd-b2db-4a6b-8835-a7e0e2bf29c8.png)
5. 现在可以更改密码,执行如下命令
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/2518f11b-cfa9-41f1-9608-95b3a7e416c2.png)
6. 让用户去加载权限,以管理员什么进入cmd,查看当前MySQL进程:tasklist | findstr mysql
7. 杀死当前的进程执行如下命令:taskkill /F /PID 6052
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/672141b6-6cbd-4616-b5b3-295b70bf06f3.png)
3. 统一字符编码(UTF-8)
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/8d284ad2-460c-4050-8850-5218a850256a.png)
为了统一字符编码,请执行如下操作:
1. my.ini 文件是MySQL的配置文件,在MySQL安装目录下手动创建.
2. 将如下代码拷贝保存到配置文件中.
- [mysqld]
- character-set-server = utf8
- collation-server = utf8_general_ci
- [client]
- default-character-set = utf8
- [mysql]
- default-character-set = utf8
3. 以管理员身份重启服务,执行如下命令.
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/39aa6966-999d-48ec-afce-0929982e8340.png)
4. 再次查看:
![在这里插入图片描述](http://blog.gqylpy.com/media/ai/2019-03/51155c0f-0240-4aad-bc41-50573bd8c603.png)
此时全部为utf8,表示配置成功.
"
原文: http://blog.gqylpy.com/gqy/241
原文地址:https://www.cnblogs.com/bbb001/p/11367117.html