一次window下mysql無法啟動問題的解決


mysql使用了有一陣子了,zip包方式安裝的版本是Server version: 8.0.16 MySQL Community Server - GPL
現在的問題如下:
1.mysql -V 登錄等mysql -u root -p
錯誤代碼:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

2.是mysql沒啟動,記得都是自啟動的...

C:\WINDOWS\system32>net start Mysql

MySQL 服務正在啟動 ..

MySQL 服務無法啟動。

服務沒有報告任何錯誤。

請鍵入 NET HELPMSG 3534 以獲得更多的幫助。   啟動失敗
3.services.msc在系統服務了打開

4.看了網上的方法

C:\WINDOWS\system32>mysqld --install

The service already exists!

The current server installed: F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld MySQL

到這里表示數據庫確實安裝了,系統檢查到了,同時有檢查環境變量沒問題
5.初始化數據庫,報錯因為之前用過,已經有data目錄了。(這一步同上,等於無用功)

C:\WINDOWS\system32>mysqld --initialize --user=mysql --console 
2020-02-17T08:18:41.874659Z 0 [System] [MY-013169] [Server] F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe (mysqld 8.0.16) initializing of server in progress as process 18104
2020-02-17T08:18:41.878318Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
2020-02-17T08:18:41.878347Z 0 [ERROR] [MY-013236] [Server] Newly created data directory F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\data\ is unusable. You can safely remove it.
2020-02-17T08:18:41.890111Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-02-17T08:18:41.890384Z 0 [System] [MY-010910] [Server] F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.16) MySQL Community Server - GPL.

6.這部找到問題所在,解決問題 mysqld --console,打印出mysql錯誤。這里是說數據存儲引擎的文件不可寫入,data目錄初始化失敗(這是后來的錯誤,已經可以使用了)

C:\Users\yb150>mysqld --console 2020-02-17T10:37:50.515556Z 0 [System] [MY-010116] [Server] F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe (mysqld 8.0.16) starting as process 17296 
2020-02-17T10:37:50.540424Z 1 [ERROR] [MY-012271] [InnoDB] The innodb_system data file 'ibdata1' must be writable
2020-02-17T10:37:50.540450Z 1 [ERROR] [MY-012278] [InnoDB] The innodb_system data file 'ibdata1' must be writable
2020-02-17T10:37:50.540850Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
2020-02-17T10:37:50.541283Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2020-02-17T10:37:50.558062Z 0 [ERROR] [MY-010119] [Server] Aborting
2020-02-17T10:37:50.561204Z 0 [System] [MY-010910] [Server] F:\java\mysql\mysql-8.0.16-winx64\mysql-8.0.16-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.16) MySQL Community Server - GPL

當時錯誤提示是,無法啟動數據庫已關閉 ——>無法找到對應當binlog.000032等幾個文件,這是我想起來之前刪除了幾個外部binlog文件,在回收站找回后,重新啟動成功

mysqld: File './binlog.000032' not found (Errcode: 2 - No such file or directory)
2018-08-17T06:58:33.937608Z 0 [ERROR] Failed to open log (file './binlog.000032', errno 2)
2018-08-17T06:58:33.937619Z 0 [ERROR] Could not open log file
2018-08-17T06:58:33.937627Z 0 [ERROR] Can't init tc log
2018-08-17T06:58:33.937633Z 0 [ERROR] Aborting

7.如果沒有找回這幾個binlog文件,可以手動創建嘗試(猜的)。。還是不行的話,據網上其他人說,可以把my.ini文件中binlog配置注釋掉。binlog目錄,格式兩行代碼。不考慮丟數據的情況,可以使用下面的方法啟動數據庫:將binlog.index 內容清空,啟動數據庫,這是數據庫會重置日志文件,從01開始。

#設置日志路徑,注意路經需要mysql用戶有權限寫

#log-bin=binlog

#設置日志格式

#binlog_format = mixed      注釋了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM