mysql 8.0 找不到my.ini配置文件以及報(bào)sql_mode=only_full_group_by解決方案
sql_mode=only_full_group_by問(wèn)題產(chǎn)生原因:MySQL 5.7.5及以上功能依賴檢測(cè)功能。如果啟用了ONLY_FULL_GROUP_BY
SQL模式(默認(rèn)情況下),MySQL將拒絕選擇列表,HAVING條件或ORDER BY列表的查詢引用在GROUP BY子句中既未命名的非集合列,也不在功能上依賴于它們。
解決方法一(不推薦):臨時(shí)sql_mode設(shè)置
1、navcat中新建查詢:
select @@global.sql_mode
結(jié)果:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
以看到存在ONLY_FULL_GROUP_BY,問(wèn)題就在這
2、修改sql_mode
set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
注意:“8.0.x的版本不支持NO_AUTO_CREATE_USER,去掉即可”
這樣的方式只能解決單表,且如果Mysql服務(wù)重啟(即服務(wù)器重啟)則會(huì)被mysql的默認(rèn)ini配置覆蓋,因此不推薦。
解決方法二:修改Mysql的默認(rèn)配置文件my.ini(永久配置,推薦)
1、通過(guò)select @@basedir;
,查看mysql的安裝路徑,去安裝目錄查看有沒(méi)有my.ini配置文件
2、通過(guò)select @@datadir;
,查看mysql的數(shù)據(jù)存儲(chǔ)路徑
3、若沒(méi)有my.ini,則新建一個(gè)my.ini文件,配置如下:
[mysqld] # 設(shè)置3306端口 port=3306 # 設(shè)置mysql的安裝目錄(你自己的目錄) basedir="D:\\Environment\\mysql-8.0.30-winx64" # 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄 datadir="D:\\Environment\\mysql-8.0.30-winx64\\data" # 允許最大連接數(shù) max_connections=200 # 允許連接失敗的次數(shù)。 max_connect_errors=10 # 服務(wù)端使用的字符集默認(rèn)為UTF8 character-set-server=utf8 # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 default-storage-engine=INNODB # 默認(rèn)使用“mysql_native_password”插件認(rèn)證 #mysql_native_password default_authentication_plugin=mysql_native_password #sql_mode配置,關(guān)閉ONLY_FULL_GROUP_BY sql_mode= 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' [mysql] # 設(shè)置mysql客戶端默認(rèn)字符集 default-character-set=utf8 [client] # 設(shè)置mysql客戶端連接服務(wù)端時(shí)默認(rèn)使用的端口 port=3306
配置中標(biāo)紅部分為解決問(wèn)題的部分,其中注意配置需要有單引號(hào)包裹,如果你是mysql5.x,可以加上NO_AUTO_CREATE_USER;如果你是mysql8.x,則不需加上,若你加上,則會(huì)發(fā)生服務(wù)無(wú)法啟動(dòng)的情況
4、保存my.ini文件后,然后打開cmd,進(jìn)入命令行,輸入
- –defaults-file為my.ini路徑
mysqld --defaults-file="C:\install\mysql\mysql-8.0.16-winx64\my.ini"
即修改mysql的配置文件路徑
4.1、如果還沒(méi)有安裝mysql服務(wù),只需要在安裝的時(shí)候輸入即可:
- MySql80為服務(wù)名
- –defaults-file為my.ini路徑
mysqld --install "MySql80" --defaults-file="C:\install\mysql\mysql-8.0.16-winx64\my.ini"
5、重啟mysql服務(wù),通過(guò)select @@global.sql_mode;
查看是否生效
本文參考:
2、Mysql8配置sql_mode(解決group by遇到的Expression #2 of SELECT list is not in GROUP BY clause問(wèn)題)
到此這篇關(guān)于mysql 8.0 找不到my.ini配置文件以及報(bào)sql_mode=only_full_group_by解決方案的文章就介紹到這了,更多相關(guān)mysql 8.0 找不到my.ini配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 解決MySQL 5.7.9版本sql_mode=only_full_group_by問(wèn)題
- MySql版本問(wèn)題sql_mode=only_full_group_by的完美解決方案
- MySQL錯(cuò)誤提示:sql_mode=only_full_group_by完美解決方案
- 解決MySql版本問(wèn)題sql_mode=only_full_group_by
- mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決
- mysql怎么關(guān)閉sql_mode=ONLY_FULL_GROUP_BY模式
- 解決MySQL this is incompatible with sql_mode=only_full_group_by 問(wèn)題
- 如何解決MySQL?this?is?incompatible?with?sql_mode=only_full_group_by問(wèn)題
- MySQL報(bào)錯(cuò)sql_mode=only_full_group_by的問(wèn)題解決
相關(guān)文章
MySQL5.7.24版本的數(shù)據(jù)庫(kù)安裝過(guò)程圖文詳解
這篇文章主要介紹了MySQL5.7.24版本的數(shù)據(jù)庫(kù)安裝過(guò)程,需要的朋友可以參考下2018-11-11MySQL查詢指定字段不是數(shù)字與逗號(hào)的sql
今天小編遇到一個(gè)問(wèn)題因?yàn)榫庉嫷牟患?xì)心不小心將關(guān)鍵詞寫到相關(guān)文章里面導(dǎo)致頁(yè)面無(wú)法生成,這里用sql語(yǔ)言將這些內(nèi)容獲取出來(lái)2020-02-02Linux系統(tǒng)利用crontab定時(shí)備份Mysql數(shù)據(jù)庫(kù)方法
本文教你如果快速利用系統(tǒng)crontab來(lái)定時(shí)執(zhí)行備份文件,按日期對(duì)備份結(jié)果進(jìn)行保存2021-09-09給MySQL表中的字段設(shè)置默認(rèn)值的兩種方法
在MySQL中,我們可以為表的字段設(shè)置默認(rèn)值,以確保在插入新記錄時(shí),如果沒(méi)有為該字段指定值,將使用默認(rèn)值,要為MySQL表中的字段設(shè)置默認(rèn)值,我們可以在創(chuàng)建表時(shí)或者在已存在的表上使用ALTER TABLE語(yǔ)句進(jìn)行修改,下面將展示兩種設(shè)置默認(rèn)值的方法,需要的朋友可以參考下2023-11-11