最近在做一個SpringMVC的demo,然而在IDEA連接數據庫時出現了一堆bug,運行錯誤時報錯如下:
[42S02][1146] com.mysql.jdbc.exceptions.jdbc.MySQL SyntaxErrorException: Table 'mysql.event' doesn't exist.Error encountered when performing Introspect schema library: Table 'mysql.event' doesn't exist.Table 'mysql.event' doesn't exist(1s476ms)
然后我打開本地的Navicat報錯如下:本地計算機上的MySQL57服務啟動后停止,某些服務在未由其他服務或程序使用時將自動停止。
解決方式如下:
1、桌面左下角輸入cmd
2、用cd命令進入安裝mysql時的bin目錄: cd C:\Program Files\MySQL\MySQL Server 5.7\bin (本人安裝路徑是 C:\Program Files\MySQL\MySQL Server 5.7\bin,一般默認也是這個路徑)
3、初始化data文件: mysqld --initialize(這個要等半分鍾時間,沒反應別以為是卡機了啊啊啊)
4、啟動服務:net start MySQL
如果結果顯示:MySQL 服務器啟動成功,則表明革命已經成功
但是革命一般比較艱辛,我的cmd輸出提示服務名無效(或者沒有啟動mysql服務)
后來也是在網上找了答案發現原因是:因為net start +服務名,啟動的是win下注冊的服務。此時,系統中並沒有注冊mysql到服務中。即當前路徑下沒有mysql服務。
解決步驟如下:
1. 來到MySQL的安裝路徑下bin(cd 在系統中的目錄地址)
2. 在命令行中輸入mysqld --install
3. 執行 net start mysql:
如果顯示MySQL服務器啟動成功,那就成功啦,如果顯示的是MySQL服務無法啟動的話,就請刪除mysql下的data文件,重新執行 mysqld --initialize 就可以在當前路徑下生成data文件夾,
再執行net start mysql 就可以啟動mysql。
然而,bug還是沒有結束。。。當我打開Navicat之后,又出現1045- Unknown error 1045
解決步驟:
1.找到MySQL安裝路徑下的my.ini文件,用你的文本編輯器打開(Notepad++或者記事本都行);
如何找到my.ini文件呢?
在我的電腦的最上面的地址欄上輸入%ProgramData%,找到ProgramData文件夾,然后打開MySQL文件夾,進入目錄找到你下載的MySQL5.7文件夾,找到my.ini文件
2.打開后,找到mysqld這個位置,這個文件的內容中有多個mysqld
可以參考博文:https://blog.csdn.net/lzf_hlh/article/details/80885139
3.在 [mysqld] 底下添加語句:skip-grant-tables,添加完畢后保存。如果提示不讓修改這個文件,則可將它復制到桌面,再用記事本打開它,添加完畢后,將桌面上的文件復制到原來的地方,賦值時選擇替換目標文件;
skip-grant-tables作為啟動參數的作用:MYSQL服務器不加載權限判斷,任何用戶都能訪問數據庫。
也就是說,啟用這個參數之后,數據庫的安全性會降低。
然而,在我重新打開我的Nacvicat之后,又報錯 2003 -Can't connect toMySQL server on 'localhost'(10061)
解決步驟:
.在計算機右鍵 -> 管理 -> 服務 -> 查找 MySQL57 服務,啟動;(不是啟動MySQL)
最后打開Nacvicat,終於正常了。。。
然而,打開我的IDEA的時候,又發現SQL語句報錯,當然是指沒寫錯的情況啦,后來百度發現是數據庫配置方言的問題
給大家附上博客地址吧:https://blog.csdn.net/LNView/article/details/85681171
最后終於完成了這一堆MySQL的問題,希望能給遇到像我一樣bug的小伙伴一點幫助。