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 注釋了