MySQL(1):MySQL5.7的介绍+安装+用户的权限管理

一、MySQL的介绍

  • 数据库是一个存储数据的仓库,按照数据结构,来组织,管理和存储数据,并提供了增、删、改、查的功能。
  • 而MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

上面提到了关系型数据库,那么这里我们介绍一下关系型数据库和非关系型数据库

1.关系型数据库和非关系型数据库

关系型数据库非关系型数据库
概念关系型数据库是一个结构化的数据库,采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。所谓非关系型数据库,其实是相对于关系型数据库而言的,通常用于存储那些类型不固定的,也没有什么规律的数据。它严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。企业每天都产生大量的数据,非关系型数据库的应用非常广泛,应用场景也非常多,例如:办公文档、文本、图片、HTML、各类报表、视频音频等。
优点- 便于理解:二维表构造非常贴近逻辑,关系模型相对网状、层次等其他模型来说更容易理解
- 使用方便:通用的SQL语言使得操作关系型数据库非常方便
- 易于维护:全部由表结构组成,文件格式一致
- 数据稳定:数据持久化到磁盘,没有丢失数据风险
- 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,使用灵活,应用场景广泛
- 性能优:nosql是根据键值对的,不用历经sql层的分析,因此 性能非常高。
- 扩展性高:基于键值对,数据之间耦合度极低,因此容易水平扩展。
- 成本低:nosql数据库部署简单,基本都是开源软件
缺点- 对于海量信息的查询效率教低,读写能力较差
- 网站高并发读写需求对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
- 灵活度欠佳:为了保证数据库的ACID特性,必须尽量按照其要求的范式进行设计,关系型数据库中的表都是存储一个格式化的数据结构。
- 不提供sql支持,学习和使用成本较高
- 无事务处理机制
- 数据结构相对复杂,复杂查询不容易实现
数据库举例Oracle,MySQL,sqlliteElasticsearch,Redis,MongoDB

2.MySQL的特点

  1. MySQL使用C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
  2. 支持 多种操作系统。
  3. 为多种编程语言提供了 API。
  4. 支持多线程,充分利用 CPU 资源。
  5. 优化的 SQL查询算法,有效地提高查询速度。
  6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
  7. 提供多语言支持,多种编码都可以用作数据表名和数据列名。
  8. 提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
  9. 提供用于管理、检查、优化数据库操作的管理工具。
  10. 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  11. 支持多种存储引擎。
  12. MySQL 是开源的。
  13. MySQL 使用标准的 SQL数据语言形式。
  14. MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。
  15. 在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)
  16. 复制全局事务标识,可支持自我修复式集群(5.6新增)
  17. 复制无崩溃从机,可提高可用性(5.6新增)
  18. 复制多线程从机,可提高性能(5.6新增)
  19. 3倍更快的性能(5.7 新增)
  20. 新的优化器(5.7新增)
  21. 原生JSON支持(5.7新增)
  22. 多源复制(5.7新增)
  23. GIS的空间扩展 [4] (5.7新增)

3.常见的Mysql引擎

MyISAMInnoDBMEMORY
使用版本MySQL 5.0 之前的默认数据库引擎MySQL 5.5 起成为默认数据库引擎
优点查询效率较高支持事务、支持外键、支持崩溃修复和自增列,它的特点是稳定(能保证业务的完整性)读写效率最高
缺点不支持事务和外键数据的读写效率一般因为数据都保存在内存中的,所以 MySQL 服务重启之后数据就会丢失,因此它只适用于数据丢失不敏感的业务场景

4.sql数据库的基本结构

这里以mysql举例:

1.Mysql关系型数据库管理软件

Mysql>database>table>filed
|       |        |     |
MySQL-------------字段(数据)
  • 多条数据组成一张表
  • 多张表组成一个库
  • Mysql管理多个库

2.Sql语句分类:

  • DDL(定义) 一般适用于对库的操作和表的操作
  • DML(操作) 一般是 数据的添加 数据的修改 数据的删除
  • DQL(查询) 一般是查询
  • DCL(控制) 一般使用权限管理 一般是有dba来去操作

3.Sql的语法规则

  1. sql语句必须以分号结尾;
  2. Sql 不区分大小写,但是一般文档中sql关键字都是大写;

二、MySQL的安装和卸载(5.7)

1.MySQL的安装和卸载

Mysql的安装:

1.把mysql-5.7.25-winx64.zip解压放到D盘目录下

在这里插入图片描述

在这里插入图片描述
2.MySQL软件bin目录添加到PATH环境变量中

添加环境变量:计算机右键-属性-高级系统设置-环境变量

D:\mysql-5.7.25-winx64\bin

在这里插入图片描述
3.在MySQL安装目录下创建my.cnf文件

在这里插入图片描述
4.my.cnf中粘贴默认选项

[mysqld]
basedir=d:/mysql-5.7.25-winx64
datadir=d:/mysql-5.7.25-winx64/data
character-set-server=utf8
explicit_defaults_for_timestamp
[mysql]

5.以管理员运行cmd,安装MySQL服务

cmd执行切换到bin目录下,执行以下命令

d:
cd D:/mysql-5.7.25-winx64\bin

mysqld --install MySQL

在这里插入图片描述

在这里插入图片描述
6.查看MySQL服务 services.msc

计算机->管理-->服务和应用程序-->服务

在这里插入图片描述
7.初始化安装MySQL数据库在bin目录下执行以下命令,进行无密码安装,看是否多data文件夹

 mysqld --initialize-insecure

在这里插入图片描述
8.启动MySQL服务

在这里插入图片描述
9.MySQL连接测试 mysql -u root -p 安装成功
在这里插入图片描述

Mysql的卸载:

1.关闭服务

单击鼠标右键-管理-服务

找到mysql服务,并关掉服务

在这里插入图片描述

在这里插入图片描述
2.删除d盘的MySQL安装文件
在这里插入图片描述
3.windows+R运行regedit文件,打开注册表
在这里插入图片描述
4.删除注册表

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL文件夹

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL文件夹
# 如果没有可以不用删除了

在这里插入图片描述

5.使用管理员权限进去cmd,sc delete 要删除的服务名 ,这里是MySQL
在这里插入图片描述
在这里插入图片描述

2.启动MySQL服务

安装好MySQL后,开启服务在命令行输入

net start mysql

停止服务

net stop mysql

连接数据库

# 没密码可以简写为
Mysql -u root -p

# 完整写法
Mysql -u root -p -h localhost -P 3306

-u  你的mysql的用户名
-p  你的mysql密码
-h  你mysql服务的地址 ip
-P  mysql数据库的端口号 默认3306

在这里插入图片描述

三、对用户的权限管理

定义解释
用户链接的账户
权限语序用户操作的范围
权限的集合

1.创建用户

基本语法create user '用户名'@'ip地址' identified by '密码';

举例:

创建用户名为lisi 任何位置都可以登录:
Create user 'lisi'@'%' identified by '123456';

创建用户wangwu 只能本地登录的用户
Create user 'wangwu'@'localhost' identified by '123456';

创建用户wzy只能在ip地址为10.10.107.85的设备上链接数据库
create user 'wzy'@'10.10.107.85' identified by '123456';

2.给用户授权

基本语法: grant 权限 on 库名.表名 to 用户名@'地址';

举例:

给lisi添加 所有库所有表的 查询权限
Grant select on *.* to 'lisi'@'%';

给远程连接的zhaoliu用户添加对demo1数据库下所有表的所有权限
Grant all on demo1.* to 'zhaoliu'@'%';

注意:mysql创建用户的时候可以重名,同样的用户名拥有的权限不同,因此我们需要加入地址进行区分地址进行区分指定用户。

3.删除用户

基本格式:drop user '用户名'@'ip地址' ;

4.修改用户密码

Mysql 有一个默认的mysql库 有一个user表,这个表中存放的就是咱们用户信息!我们的密码字符是authentication_string
在这里插入图片描述

4.1修改密码步骤

进入数据库软件并且切换到mysql库中,给root账户换个密码为123456

update user set authentication_string=password('123456') where User='root' and host='localhost';

重新启动服务(注意是退出数据库后)

net stop mysql
net start mysql

重新连接数据库 使用密新码登录

4.2忘记密码怎么办

①修改配置文件(my.cnf文件) 在mysqld最后一行添加skip-grant-tables ,跳过权限验证
在这里插入图片描述
②重新启动服务(注意是退出数据库后)

net stop mysql
net start mysql

③登录数据库,此时不需要输入密码即可登录,执行修改密码操作
④把配置文件修改回来
⑤重启服务 使用新密码登录即可**

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张烫麻辣亮。

谢谢老板支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值