1. 程式人生 > 實用技巧 >MySQL資料庫報1055錯誤

MySQL資料庫報1055錯誤

有點坑啊,當初裝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

最後再重新啟動一下服務即可