MySQL 8.0给开发方向带来的一些困扰

MySQL 8.0的开发困扰特性可谓强大,有一种集中火力的开发困扰感觉,从整体的开发困扰架构设计到功能和参数,可圈可点。开发困扰
不过我今天从开发的开发困扰角度来说一下困扰,毕竟那么新,开发困扰那么强大,开发困扰所谓的开发困扰无缝,平滑还是开发困扰需要经过全面测试,不能浮于纸面。开发困扰
1:密码策略插件
MySQL 8.0开始将caching_sha2_password作为默认的开发困扰身份验证插件。如果升级了数据库至8.0版本,开发困扰对应用程序jdbc驱动兼容性不友好,开发困扰让应用程序跑起来最快的开发困扰方法需要将默认的caching_sha2_password改为之前的mysql_native_password。
比如:
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY password;也可以在参数中进行设置,开发困扰修改my.cnf,重启服务即可生效:
default_authentication_plugin=mysql_native_password2.JDBC驱动变更
如果从MySQL5.5升级到5.7,那么驱动的事情不用担心,但是到了8.0,免费信息发布网JDBC的驱动就需要格外注意了,否则很可能有如下的错误。
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.
对于JDBC的url会有如下的变化:
String Url="jdbc:mysql://211.159.xxx:33071/maxwell_test?useUnicode=true&characterEncoding=utf-8";需要调整为如下的格式:
String Url="jdbc:mysql://211.159.xxx:33071/maxwell_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT";相应的加载驱动程序则需要
Class.forName("com.mysql.jdbc.Driver");修改为:
Class.forName("com.mysql.cj.jdbc.Driver");3.整数类型的长度警告
比如下面的表结构,通过workbench等工具导出来格式都差不多,但是在8.0里面执行的时候会报警。
CREATE TABLE `data_payment_history_test` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增ID, `pid` int(11) unsigned NOT NULL DEFAULT 0 COMMENT 用户ID, 。。。 `cdate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, 。。。 PRIMARY KEY (`id`), KEY `idx_credit_overdraw_history__pid` (`pid`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT=支付记录;这里主要涉及两个警告,一个是整数类型的长度警告,另外一个是字符集警告,
展开来说,整数类型的香港云服务器长度警告信息为:Integer display width is deprecated and will be removed in a future,意思是int(11)这种写法已经过时了,应该直接写int,bigint
而字符集配置,在MySQL8.0里面默认是utf8mb4,如果我们手工写了utf8类型,会提示:utf8 is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
当然如果你设置的全局字符集是utf8,则无警告的情况字符集仍然为utf8.
4.windows安装版
windows安装版本一直提供的是32位的,这个是个历史遗留问题,如果有些同学为了方便,直接点点点,可能把线上环境部署成32位就尴尬了,oracle的windows版本路子相反,已经很早就直接舍弃了32位的版本。

本文转载自微信公众号「杨建荣的学习笔记」,可以通过以下二维码关注。转载本文请联系杨建荣的学习笔记公众号。

相关文章
三星非智能电视的优点和功能详解(深度解析三星非智能电视的卓越性能和用户体验)
摘要:如今,智能电视已成为人们生活中不可或缺的一部分,但对于一些用户来说,他们更喜欢简单实用的非智能电视。作为全球知名电子产品制造商,三星的非智能电视凭借其卓越的性能和出色的用户体验,备...2025-11-05
现代网络安全采用分层方法来保护网络的许多边缘和网络周界,人们需要了解和探索网络安全的基础知识和风险。网络安全是指用于保护网络、网络流量和网络可访问资产免受网络攻击、未经授权的访问和数据丢失的技术、流程2025-11-05
2022年11月,全球的目光都聚焦在依旧“夏日炎炎”的卡塔尔。随着人们观看、分享赛事的习惯从传统的电视转为网络,世界杯必将成为整个2022年的“流量王”。在我国,仅仅德国与日本的一场比赛在微博平台就带2025-11-05
OpenAI的ChatGPT能生成恶意软件?如何应对AI系统调教的黑客?
最近一些分析师发出警告,OpenAI开发的聊天机器人ChatGPT可以生成恶意软件。AI生成的代码可能会给网络安全造成严重威胁,人类编写的防护软件无法抵御。据Tech Monitor报道,不久前Ope2025-11-05- 摘要:随着科技的进步,电脑已经成为我们生活和工作中不可或缺的工具。而在使用电脑前,我们需要先安装一个操作系统OS)才能正常运行。本文将为您提供一份简明易懂的电脑操作系统安装指南,帮助您...2025-11-05
- 复制Select*fromxxxwhereid=随机idforupdate 1.2025-11-05

最新评论