成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL 8.0給開發(fā)方向帶來的一些困擾

數(shù)據庫 MySQL
MySQL 8.0的特性可謂強大,有一種集中火力的感覺,從整體的架構設計到功能和參數(shù),可圈可點。

[[346386]]

 MySQL 8.0的特性可謂強大,有一種集中火力的感覺,從整體的架構設計到功能和參數(shù),可圈可點。

不過我今天從開發(fā)的角度來說一下困擾,畢竟那么新,那么強大,所謂的無縫,平滑還是需要經過全面測試,不能浮于紙面。

1:密碼策略插件

MySQL 8.0開始將caching_sha2_password作為默認的身份驗證插件。如果升級了數(shù)據庫至8.0版本,對應用程序jdbc驅動兼容性不友好,讓應用程序跑起來最快的方法需要將默認的caching_sha2_password改為之前的mysql_native_password。

比如:

  1. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

也可以在參數(shù)中進行設置,修改my.cnf,重啟服務即可生效:

  1. default_authentication_plugin=mysql_native_password 

2.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會有如下的變化:

  1. String Url="jdbc:mysql://211.159.xxx:33071/maxwell_test?useUnicode=true&characterEncoding=utf-8"

需要調整為如下的格式:

  1. String Url="jdbc:mysql://211.159.xxx:33071/maxwell_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&&serverTimezone=GMT"

相應的加載驅動程序則需要

  1. Class.forName("com.mysql.jdbc.Driver"); 

修改為:

  1. Class.forName("com.mysql.cj.jdbc.Driver"); 

3.整數(shù)類型的長度警告

比如下面的表結構,通過workbench等工具導出來格式都差不多,但是在8.0里面執(zhí)行的時候會報警。

  1. CREATE TABLE `data_payment_history_test` ( 
  2.   `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID'
  3.   `pid` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用戶ID'
  4. 。。。 
  5.   `cdate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間'
  6.   。。。 
  7.   PRIMARY KEY (`id`), 
  8.   KEY `idx_credit_overdraw_history__pid` (`pid`) 
  9. ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='支付記錄'

這里主要涉及兩個警告,一個是整數(shù)類型的長度警告,另外一個是字符集警告,

展開來說,整數(shù)類型的長度警告信息為: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位的,這個是個歷史遺留問題,如果有些同學為了方便,直接點點點,可能把線上環(huán)境部署成32位就尷尬了,oracle的windows版本路子相反,已經很早就直接舍棄了32位的版本。

本文轉載自微信公眾號「楊建榮的學習筆記」,可以通過以下二維碼關注。轉載本文請聯(lián)系楊建榮的學習筆記公眾號。

 

責任編輯:武曉燕 來源: 楊建榮的學習筆記
相關推薦

2013-07-29 09:36:05

100G傳輸100G

2017-11-29 18:52:13

Python新手編碼建議

2021-06-08 06:13:16

React開發(fā)開發(fā)技術

2009-07-09 13:16:54

Java Swing開

2016-11-11 20:33:53

Hadoop大數(shù)據云計算

2023-11-10 08:48:09

Lombok庫Java8

2021-12-15 11:30:04

無人駕駛智能技術

2021-06-30 07:19:35

微服務業(yè)務MySQL

2011-11-28 15:57:26

MySQL數(shù)據庫主從配置

2015-07-28 14:39:02

IOS技巧

2018-02-06 11:10:27

iOS開發(fā)Xcode快捷鍵

2010-11-02 14:11:15

SilverlightWPF微軟開發(fā)

2015-08-27 10:49:43

JavaScript開發(fā)框架

2018-06-21 15:23:36

2013-04-28 09:44:44

2025-01-15 09:00:20

2017-10-16 14:40:50

數(shù)據庫MySQL工具

2011-10-11 17:10:35

MySQL

2015-07-28 14:52:35

IOS技巧

2014-05-13 09:55:13

iOS開發(fā)工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日天天| 亚洲久久在线 | 久久久久久高清 | 午夜影院 | 国产精品国产三级国产aⅴ入口 | 国产中文字幕亚洲 | 亚洲一区二区av | 亚洲国产欧美在线 | 在线观看毛片网站 | 欧美日韩久久 | www.国产精| 91精品国产91久久久久久丝袜 | 久久久久国产精品 | 99re国产精品 | 国产日韩精品一区 | 精品久久久久久久久久久久久久 | 一区二区三区四区电影 | 久久免费视频1 | 男女一区二区三区 | 久久久久久99 | 18成人在线观看 | 精品免费观看 | 欧美一区二区三区 | 欧美在线一区二区三区 | 亚洲视频中文字幕 | 国产福利在线视频 | 亚洲激情av | 精品日韩在线 | 一区二区三区视频在线免费观看 | 成人黄色av网址 | jizz中国日本 | 欧美久久不卡 | 国产欧美一区二区三区久久人妖 | 福利精品 | 美女爽到呻吟久久久久 | 一区二区三区四区电影 | 成人在线免费视频 | 欧美日韩亚洲一区 | www国产亚洲精品 | 99久久99热这里只有精品 | 一区二区三区小视频 |