mysql公升級問題

2021-10-25 09:11:18 字數 985 閱讀 5440

一、5.6公升級到5.7

select col1,col2,sum(col3) from tablename group by col5;會報錯。

因為mysql5.7 sql_mode預設only_full_group_by,即group by 聚合列必須在select 欄位列中。

解決方法:

1、熟知5.7特點,從開發開始就養成習慣,group by 聚合列一定要出現在select 後。

2、開發中期或開發完成,修改業務**比較費時費工,那麼需要需要sql_mode.

set @@sql_mode = 『』 去掉sql_mode中的 only_full_group_by
二、5.7公升級到8

1、隱藏索引

隱藏乙個索引的語法

alter table t alter index i invisible;
恢復顯示該索引的語法是:

alter table t alter index i visible;
當乙個索引隱藏時,他不會被查詢優化器所使用2、設定持久化

mysql 的設定可以在執行時通過 set global 命令來更改,但是這種更改只會臨時生效,到下次啟動時資料庫又會從配置檔案中讀取。

mysql 8 新增了 set persist 命令,例如:

set persist max_connections = 500;

mysql 會將該命令的配置儲存到資料目錄下的 mysqld-auto.cnf 檔案中,下次啟動時會讀取該檔案,用其中的配置來覆蓋預設的配置檔案。

3、utf-8 編碼

從 mysql 8 開始,資料庫的預設編碼將改為 utf8mb4,這個編碼包含了所有 emoji 字元。

4、視窗函式

MYSQL公升級遇到的問題

如果你公升級mysql到4.1以上版本後遇到以上問題,請先確定你的mysql client 是4.1或者更高版本.windows下有問題你就直接跳到下面看解決方法了,因為mysql 在windows是client和server一起裝上了的 解決方法 請使用以下四種方法之一 其一 mysql set ...

mysql版本公升級問題處理

之前是5.5的版本,因為要用到set optimizer trace enabled on 這個引數是5.6後才有的。所以公升級mysql 安裝新的mysql5.6 1 解壓官網的壓縮包後,修改my.ini檔案 沒有就新增 資料目錄對應修改mysql安裝目錄 client port 3306 def...

mysql版本公升級引發的問題

問題描述 1.ibatis 中 mysql語句 select d.qid,group concat epq.qid qids from table1 d,table2 epq where d.qid qid and d.pid epq.pid group by d.checkpid limit 1 ...