- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章分析MySQL抛出异常的几种常见解决方式由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
。
报错如下:
could not open jdbc connection for transaction; nested exception is java.sql.sqlexception: connections could not be acquired from the underlying database! 。
对于此类错误,直接看释义,一句话:jdbc 驱动抛出异常,连不上数据库.
。
1.1、错误产生描述 。
第一种,也是最为常见的一种错误:代码配置的数据库名称或者密码与本地数据库不一致,抛出异常.
如上图所示,在配置文件中,前面的 name 属性是默认的,无需改变,对于用户名,一般为 root,可以通过数据库管理软件直接查看本地配置的情况,数据库的密码就是你自己设置的了.
1.2、解决方式 。
修改配置文件对应的名称和密码.
。
2.1、错误产生描述 。
第二种常见的错误:使用 ide(以 eclipse 为例)导入的非本地项目文件与本地的数据库版本不匹配.
举个例子:你导入你 eclipse 中的项目里面依赖的 jar 包是 8.0 的版本,而你本地安装的是 5.0 的 mysql 数据库,自然报错.
2.2、解决方式 。
在你导入的项目中找到 referenced libraries,右击鼠标→build path→configure build path…remove 掉项目里面依赖的 8.0 的 mysql 驱动,add 进你本地安装的 5.0 的版本即可.
。
这个错误是由于 mysql 版本更新之后,驱动包发生改变导致的,新的驱动程序类是 com.mysql.cj.jdbc.driver.
3.1、错误产生描述 。
报错如下:
loading class com.mysql.jdbc.driver'. this is deprecated. the new driver class is com.mysql.cj.jdbc.driver'. the driver is automatically registered via the spi and manual loading of the driver class is generally unnecessary. 。
错误说明:不建议使用驱动类'com.mysql.jdbc.driver'。新的驱动程序类是'com.mysql.cj.jdbc.driver',驱动程序是通过 spi 自动注册的,通常是不需要手动加载驱动类.
3.2、解决方式 。
将 mysql 数据库 5.0 使用的驱动类com.mysql.jdbc.driver改为com.mysql.cj.jdbc.driver,驱动程序是通过 spi 自动注册的,通常是不需要手动加载驱动类。修改之后的配置文件如下图所示:
1
2
|
<!
-- 加载数据库驱动 -->
<property
name
=
"driverclass"
value=
"com.mysql.cj.jdbc.driver"
></property>
|
3.3、mysql 不同版本的驱动类如何查看 。
对于 mysql 的驱动类,我们对每个版本进行查看时,点开驱动的 jar 包可以直接查看驱动是位于哪里,例如 8.0 版本的就是 com.mysql.cj.jdbc.driver,如下图所示:
。
注意:mysql 6.0 版本之后都需要配置时区.
4.1、错误产生描述 。
报错如下:
2020-01-14 00:45:30,876 error [druiddatasource.java:616] : init datasource error java.sql.sqlexception: the server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. you must configure either the server or jdbc driver (via the servertimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. 。
4.2、解决方式 。
我们可以利用时区支持,通过配置服务器或 jdbc 驱动程序(通过 servertimezone 配置属性)以使用更具体的时区值.
配置文件如下:
1
2
|
<!
-- 数据库连接字符串 -->
<property
name
=
"jdbcurl"
value=
"jdbc:mysql://localhost:3306/demo?servertimezone=gmt%2b8&characterencoding=utf-8"
></property>
|
。
5.1、错误产生描述 。
java 数据库连接使用 utc 时区(世界标准时间),即 servertimezone=utc,而北京时间比 utc 时间早8小时,即 utc+08:00,如果我们直接使用 servertimezone=utc,写入数据库中的数据会提前 8 个小时。如果按照如下配置就会在数据库中写入数据相差 8 个小时:
1
2
|
<!
-- 数据库连接字符串 -->
<property
name
=
"jdbcurl"
value=
"jdbc:mysql://localhost:3306/demo?servertimezone=utc&characterencoding=utf-8"
></property>
|
5.2、解决方式 。
我们可以修改设置 servertimezone 为北京时间 gmt%2b8、上海时间 asia/shanghai 或者香港时间 hongkong.
配置文件如下即可:
1
2
|
<!
-- 数据库连接字符串 -->
<property
name
=
"jdbcurl"
value=
"jdbc:mysql://localhost:3306/demo?servertimezone=gmt%2b8&characterencoding=utf-8"
></property>
|
另外在 mysql 中的 my.ini 配置文件也可以修改,此文章仅用于解决相应问题,故不多做详细描述.
。
6.1、错误产生描述 。
报错如下:
sun oct 14 00:45:30 cst 2018 warn: establishing ssl connection without server's identity verification is not recommended. according to mysql 5.5.45+, 5.6.26+ and 5.7.6+ requirements ssl connection must be established by default if explicit option isn't set. for compliance with existing applications not using ssl the verifyservercertificate property is set to 'false'. you need either to explicitly disable ssl by setting usessl=false, or set usessl=true and provide truststore for server certificate verification. 。
错误说明:不建议在没有服务器身份验证的情况下建立 ssl 连接。根据 mysql 5.5.45+,5.6.26+ 和 5.7.6+ 的 ssl 连接要求,如果未设置连接方式,则默认情况下必须建立 ssl 连接。对于不使用 ssl 的现有应用程序,服务器的验证证书属性设置为“false”。您需要通过设置usessl = false来显式禁用 ssl,或者设置usessl = true并提供服务器的验证证书.
6.2、解决方式 。
配置文件如下即可:
1
2
|
<!
-- 数据库连接字符串 -->
<property
name
=
"jdbcurl"
value=
"jdbc:mysql://localhost:3306/demo?usessl=false&servertimezone=gmt%2b8&characterencoding=utf-8"
></property>
|
。
通过对于 mysql 抛出异常的几种常见解决方式的总结,加深对于 mysql 底层的了解。只要是干开发,错误是不断地,要善于总结。同时,要充分掌握开发的底层原理,不同的版本迭代作为开发者要及时了解,不然永远跟不上技术的发展.
以上就是分析mysql抛出异常的几种常见解决方式的详细内容,更多关于mysql异常的解决方式的资料请关注我其它相关文章! 。
最后此篇关于分析MySQL抛出异常的几种常见解决方式的文章就讲到这里了,如果你想了解更多关于分析MySQL抛出异常的几种常见解决方式的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1)&nbs
我的文件中有正在本地化的字符串。其中许多是常见的,并且已经在整个 iOS 中使用。例如。 “保存”、“加载”、“返回”、“收藏夹”、“拍照”。为了与其他应用程序和内置应用程序提供一致的用户体验,是否有
我已经学习了 Qt 的基础知识,现在对这个漂亮的库的深度感兴趣。请帮助我理解: 所有类都是从QObject派生的吗? 为什么可以在QWidget(和派生类)上绘画? return app.exec()
我在 webpack 中设置了一个自调用函数,并使用常见的 JS 来需要一些包: (function() { var $ = require("jquery"); //...my functi
我正在尝试制作一个大量使用词性标记的应用程序。但是 nltk 的 pos 标记功能对我来说似乎不符合标准 - 例如: import nltk text = "Obama delivers his fi
有没有办法处理发送到 MySQL 的常见查询以防止不必要的带宽使用? 最佳答案 选项是: 使用MySQL缓存查询 好:全自动 差:仍然需要访问数据库服务器;有一次缓存让我在一个项目中失望,花了很长时间
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
关闭。这个问题需要debugging details .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve this questio
我正在尝试调用返回 csv 文件的网络服务。因此,我调用的每个 URL 都有一个后缀,它是一个字符串,表示要生成哪个 csv。然后我想将此 csv 保存到文件中。有很多要生成,所以我从多个线程调用此类
流行手机型号支持的典型触摸点数量是多少?我在基础研究中看到低至 2 和高至 5,但我希望能够将其映射到实际手机和更好的限制! 最佳答案 两部手机的触控点数据: Galaxy S 5 LG
出于好奇 - 我知道有 LAMP - Linux、Apache、MySQL 和 PHP。但是还有哪些其他 Web 堆栈替代方案的缩写呢?像 LAMR - Linux、Apache、MySQL Ruby
我写了一个java代码(使用apache common vfs2)来上传文件到SFTP服务器。最近,我在我的服务器上引入了 PGP 安全性。现在,java 代码无法连接到该服务器。与 FileZill
由于 GLU 被认为对于现代 OpenGL (3.1+) 来说已经过时,那么使用 C/C++ 在 OpenGL 中绘制基本形状(例如椭圆或弧线/饼图)的方法是什么?令人难以置信的是,在 OpenGL
我想知道是否有最流行的 iOS 应用程序的自定义 URL 方案列表,例如 Keynote、Numbers、Pages、Evernote 等。我还想知道这些应用程序使用什么参数网址。 我需要这个的原因是
我正在使用 NDK r10d 移植 C++ myToll Linux 应用程序以在 Android 上运行。 (请注意,这不是带有 apk 的 Android 应用程序,而是从 shell 运行的实用
假设您想要使用 UML 2 部署图为在该领域没有太多知识的人可视化一个常见的 PHP 服务器应用程序。这样一个通用的应用程序可能有三个设备节点(数据库服务器、Web 服务器和客户端)和四个执行环境节点
我正在尝试运行以下代码,以找到两个人之间的共同 friend 。输入如下 A : B C D B : A C D E C : A B D E D : A B C E E : B C D 我无法在输出文
我在 Gitolite 的 manual 中找到的唯一东西在钩子(Hook)上,是: If you want to add your own hook, it's easy as long as it
具体来说,我有一个问题,在 AWS 环境中组织 AZ 故障转移的推荐方法是什么。此外,最好了解典型的 AWS 故障以组织应用程序 HA(高可用性)。 因此,应用程序架构(AWS 服务使用)如下: 它或
我正在尝试编写一个通用的 SecurePagingAndSorting 存储库,它将检查 CRUD 操作的安全性,以节省在所有 JPA 存储库中重复相同的 PreAuthorize(使用不同的权限)。
我是一名优秀的程序员,十分优秀!