目录
#. 概述
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://www.bubuko.com/infodetail-3158843.html