MySQL資料庫報1055錯誤
阿新 • • 發佈:2020-11-16
有點坑啊,當初裝MySQL資料庫的時候沒有整配置檔案,結果MySQL報1055錯誤的時候,網上的解決辦法都說如果需要永久生效的話,只能通過改配置檔案實現,but,我沒有配置檔案,蜜汁尷尬啊
1、已安裝的MySQL,如何重新新增配置檔案my.ini
1.1、刪除MySQL服務
以管理員身份開啟cmd,輸入命令:
sc delete MySql
"MySql"為服務名稱,你的MysSql服務不一定是這個名稱,可以開啟電腦的服務視窗檢視。
刪除完成之後,最好去電腦的服務視窗看下,如果找不到MySql服務,說明已經已經刪除成功。
如果還能看到MySql服務,可以手動右擊選擇”停止“,服務停止之後就會自動消失了。
1.2、新建my.ini配置檔案
在MySQL程式的根目錄下,新建一個my.ini空白檔案,用記事本開啟,將以下內容複製進去,儲存:
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html # *** DO NOT EDIT THIS FILE. It's a template which will be copied to the # *** default location during install, and will be replaced if you # *** upgrade to a newer version of MySQL. [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_bin init_connect='SET NAMES utf8mb4' # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. basedir = E:\mysql-5.7.24-winx64 datadir = E:\mysql-5.7.24-winx64\data port = 3306 # server_id = ..... # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. join_buffer_size = 128M sort_buffer_size = 16M read_rnd_buffer_size = 16M
1.3、重新生成data檔案
先將原來的data檔案刪除(注意備份)
回到cmd,重新生成data檔案,執行以下命令:
mysqld --initialize-insecure --user=mysql
完成後會在MySql程式資料夾下重新生成名稱為data的資料夾,可以開啟MySQL安裝路徑檢視
1.4、重新安裝mysql服務,同時繫結my.ini配置檔案
在cmd中輸入以下命令:
mysqld --install "MySql75" --defaults-file="E:\mysql-5.7.24-winx64\my.ini"
MySql75是服務的名字,這裡可以自己隨便取,我這裡寫的是代表MySQL5.7版本
E:\mysql-5.7.24-winx64\my.ini是my.ini的絕對路徑
如果提示安裝成功,這時開啟電腦的”服務“視窗,可以找到新新增的MySql75服務:
1.5、啟動服務
啟動服務的方式有兩種,一種是在服務視窗手動啟動,一種是在cmd中通過命令啟動
1.5.1、命令啟動
在cmd中輸入如下命令:
net start mysql75
1.5.2、服務視窗手動啟動
win +R:輸入services.msc開啟服務視窗
1.6、重新設定密碼
刪除了data檔案和服務之後,之前的密碼就失效了,所以需要重新設定密碼。
開啟navicat重新設定密碼
退出MySQL,在重新以新密碼進入即可
2、解決MySQL1055問題(永久解決)
在navicat中執行以下命令:
SELECT @@sql_mode
將最開始的ONLY_FULL_GROUP_BY去掉,複製後邊的全部程式碼,開啟剛才寫的my.ini,新增到最後一行
sql _mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
最後再重新啟動一下服務即可