欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql 8.0 找不到my.ini配置文件以及報(bào)sql_mode=only_full_group_by解決方案

 更新時(shí)間:2024年08月18日 10:52:39   作者:hayhead  
MySQL5.7.5及以上版本啟用ONLY_FULL_GROUP_BYSQL模式可能導(dǎo)致的問題,本文就來介紹一下找不到my.ini配置文件的解決方法,感興趣的可以了解一下

sql_mode=only_full_group_by問題產(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,問題就在這

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、通過select @@basedir;,查看mysql的安裝路徑,去安裝目錄查看有沒有my.ini配置文件

2、通過select @@datadir;,查看mysql的數(shù)據(jù)存儲(chǔ)路徑

3、若沒有my.ini,則新建一個(gè)my.ini文件,配置如下:

[mysqld]
# 設(shè)置3306端口
port=3306
# 設(shè)置mysql的安裝目錄(你自己的目錄)
basedir="D:\\Environment\\mysql-8.0.30-winx64"
# 設(shè)置mysql數(shù)據(jù)庫的數(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)紅部分為解決問題的部分,其中注意配置需要有單引號(hào)包裹,如果你是mysql5.x,可以加上NO_AUTO_CREATE_USER;如果你是mysql8.x,則不需加上,若你加上,則會(huì)發(fā)生服務(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、如果還沒有安裝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ù),通過select @@global.sql_mode;查看是否生效

本文參考:

1、mysql 8.0找不到my.ini配置文件解決方案

2、Mysql8配置sql_mode(解決group by遇到的Expression #2 of SELECT list is not in GROUP BY clause問題)

到此這篇關(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論