什么是MySQL?(熟悉)
MySQL是一个开源的、使用标准SQL语言的、可运行于多个系统的、支持多语言的、支持大型数据库的关系型数据库管理系统。由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。我们通常使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
什么是数据库?
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库必知的术语(掌握)
- 数据库:数据库是一些表或者其它对象的集合。
- 数据表:表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
- 列:又称为字段。一列数据包含了相同类型的数据,例如邮政编码的数据。
- 行:又称为记录。一行数据是一组相关的数据,例如一条用户订阅的数据。
- 冗余:存储多份数据,冗余虽然浪费了空间,降低了性能,但提高了数据的安全性。
- 主键:一个数据表中只能包含一个主键。表中每一行数据(一条记录)的主键是唯一的,你可以使用主键来查询数据。
- 外键:外键用于关联两个表。其中一个表A的字段取之于表B的主键,那么B的主键称为A的外键。
- 复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
- 索引:使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
数据表可以简单看做一个Excel表:
- 表头(header): 每一列的名称;
- 列(col): 具有相同数据类型的数据的集合;
- 行(row): 每一行用来描述某条记录的具体信息;
- 值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
- 键(key): 键的值在当前列中具有唯一性。
数据库配置链接中的url的参数含义(熟悉)
url: jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
url | 统一资源定位符 |
---|---|
jdbc:mysql | 是协议名称 是指JDBC连接方式 |
localhost:3306 | 是主机:端口 还可以写作127.0.0.1:3306 |
test | 是数据库名 |
useSSL=true | MySQL在高版本需要指明是否进行SSL连接 在mysql连接字符串url中加入ssl=true或者false即可 SSL |
useUnicode=true | 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true |
characterEncoding | 当useUnicode设置为true,给定编码,常用utf8,默认是:autodetect |
serverTimezone | 设置时区 例如 serverTimezone=UTC(统一标准世界时间)或serverTimezone=Asia/Shanghai(中国时区) |
zeroDateTimeBehavior | 所有零组件的日期时间处理 |
allowPublicKeyRetrieval | 允许客户端从服务器获取公钥 |
zeroDateTimeBehavior处理策略,有3种
- exception(不指定,则默认)—->默认抛出异常,
- convertToNull——->转化为null
- round——->替换成最近的日期即XXXX-01-01
allowPublicKeyRetrieval
设置AllowPublicKeyRetrieval=True参数以允许客户端从服务器获取公钥。
AllowPublicKeyRetrieval=True可能会导致恶意的代理通过中间人攻击(MITM)获取到明文密码,所以默认是关闭的,必须显式开启。
问题一
当使用数据库查询第一条数据的时候,发现报了这个Public Key Retrieval is not allowed(不允许检索公钥)。出现这个问题原因是:mysql8以上版本默认使用 sha256_password 认证,密码在传输过程中必须加密保护,如果无法使用 TLS,就需要使用 RSA 公钥加密。
解决办法:设置AllowPublicKeyRetrieval=True即可解决此问题。
问题二
Access denied for user ‘root’@‘172.17.0.1’ (using password: YES)
此异常和问题一一样,从MySQL8.0 开始,默认的验证方式是caching_sha2_password。
原文地址:https://blog.csdn.net/glb168/article/details/135726441
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_59456.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!