本地計算機上的MySQL服務啟動后停止。某些服務在未由其他服務或程序使用時將自動停止[解決方案]


本地計算機上的MySQL服務啟動后停止。某些服務在未由其他服務或程序使用時將自動停止[解決方案]

一,寫這篇博客的用意

最近學習數據庫 需要安裝數據庫 然后在安裝過程中遇到一些問題 希望新手們遇到這些問題時少花一點時間折騰 所以寫這篇博客,

二.解決辦法

1.其中一個是:Windows無法啟動MySQL57服務(位於本地計算機上)錯誤1067:進程意外終止,報錯如下圖所示。

圖片

2、緊跟着還有一個報錯:本地計算機上的MySQL服務啟動后停止。某些服務在未由其他服務或程序使用時將自動停止,報錯如下圖所示。

圖片

3、之后即便我垂死掙扎,在命令行窗口中不斷的重啟MySQL服務,但是仍然沒有戳到痛點,嘗試的步驟有下圖為證。

圖片

4、隨后想進入MySQL, 也是報錯。

圖片

5、后來我想通過手動點擊“我的電腦>管理>服務>MySQL”,收到啟動MySQL,但是也沒有用。

圖片

6、經過一番嘗試之后,還是行不通。無奈之下,不斷的尋找blog,終於找到了一個可行的方法,但是代價也是很大的,基本上是給MySQL洗心革面了。如果小伙伴們的原始MySQL中有重要的數據的話,不建議使用這種方法;如果覺得已經在數據庫中的數據無關緊要或者不小心遇到了這個問題,那就可以大膽的使用這種方法,只不過是重頭再來,具體的解決步驟如下。

首先務必使用管理員權限進入到命令行、務必使用管理員權限進入到命令行、務必使用管理員權限進入到命令行,重要的事情說三遍,不然的話就會出現“發生系統錯誤 5。 拒絕訪問。”這樣的錯誤,如下圖所示。

圖片

7、之后進入到MySQL安裝目錄下,找到bin目錄,這個過程是必須的。這個過程很簡單,一路上使用cd命令和dir查看目錄文件的命令相互結合,直到進入到bin目錄下為止。一般來說,MySQL的安裝默認路徑是:C:\Program Files\MySQL\MySQL Server 5.7\bin,大家可以做下參考。

圖片

8、之后進行初始化data目錄。如果在與bin目錄同級的文件夾下沒有data文件夾的話,則創建一個data空目錄,名字務必為data。如果有該目錄的話,記得要清空data目錄下的所有初始文件,就醬紫。

圖片

9、之后到bin目錄下執行命令(管理員身份打開命令行窗口):mysqld –initialize,如下圖所示。初始化大概需要20秒左右的時間,靜觀其變即可。

圖片

之后就可以看到MySQL服務順利啟動。

而且在狀態欄的MySQL Notifier中也會彈出提示,如下圖所示,MySQL的狀態變為從停止變為啟動。

圖片

10.如果按照上面步驟執行 還是報錯 那我們接下來執行以下的操作

  1. 修改my-default.ini文件。

    # For advice on how to change settings please see
    
    
    
    # http://dev.mysql.com/doc/refman/5.7/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.
    
    
    
     
    
    
    
    [mysql]
    
    
    
    default-character-set=utf8 
    
    
    
    # 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 = .....
    
    
    
    # datadir = .....
    
    
    
    # port = .....
    
    
    
    # server_id = .....
    
    
    
     
    
    
    
    # 設置mysql客戶端默認字符集
    
    
    
     
    
    
    
    [mysqld]
    
    
    
    #設置3306端口
    
    
    
    port = 3306 
    
    
    
    # 設置mysql的安裝目錄
    
    
    
    basedir=D:\mysql-5.7.17-winx64
    
    
    
    # 設置mysql數據庫的數據的存放目錄
    
    
    
    datadir=F:\database
    
    
    
    # 允許最大連接數
    
    
    
    max_connections=200
    
    
    
    # 服務端使用的字符集默認為8比特編碼的latin1字符集
    
    
    
    character-set-server=utf8
    
    
    
    # 創建新表時將使用的默認存儲引擎
    
    
    
    default-storage-engine=INNODB
    
    
    
     
    
    
    
    # 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 = 2M
    
    
    
    # read_rnd_buffer_size = 2M 
    
    
    
     
    
    
    
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    
  2. 管理員cmd啟動,安裝mysql服務:

    mysqld --install mysql
    
  3. 啟動服務:

    net start mysql
    
  4. 報錯:

img

查找問題,重新安裝,找到問題原因,配置文件有誤,還有就是未初始化mysql data文件夾。修改步驟如下:

  1. 刪除mysql服務

    mysqld --remove mysql
    
  2. 修改配置文件中的[mysql] [mysqld] !!注意這兩個括號里面的 不能少。詳細的見上面的inip配置(我貼的已經是正確的了,之前我兩個括號里面都寫的是[mysqld])

  3. 重新安裝mysql服務

    mysqld --install mysql
    
  4. 初始化data

    mysqld --initialize-insecure
    
  5. 啟動mysql服務

    net start mysql
    

    img

11、此時通過命令行窗口再次登錄數據庫(命令為:mysql –u root -p)就可以順利進入了,但是輸入你之前的歷史遺留的密碼並不好使了,而且會報錯,報錯為:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),如下圖所示。

這是因為MySQL初始化之后,生成了一個初始密碼,放在了data文件夾下以.err為后綴的文件夾下,如下圖所示。

圖片

12、此時,通過電腦自帶的記事本打開文件,是不太行得通的,通過sublime text就可以順利打開了,以“password”為搜索項,很快就定位到初始密碼了,如下圖所示。

圖片

這個密碼是隨機生成的,而且相對復雜,可以直接復雜粘貼到命令行窗口。

13.但是有些打開以后發現里面密碼 沒有 所以不要慌 我們繼續執行以下操作

(1)、windows+r 打開cmd

(注意:以管理員身份啟動cmd窗口)

(2)解決辦法:

(3).先關閉Mysql服務,修改my.ini文件,再啟動服務,輸入命令:

(4)、net stop mysql 關閉命令
(5)、net start mysql 啟動命令

(6)找到mysql安裝路徑,打開my.ini,在[mysqlId]下添加:

skip-grant-tables

(7).配置好my.ini,重啟啟動cmd,輸入命令如下:

mysql -uroot -p

(在輸入密碼時,直接點擊enter跳過)

如果沒有出現這種情況 繼續執行下面步驟:

13、將初始化密碼進行復制,粘貼到MySQL登錄的密碼中去,如下圖所示。

圖片

此時可以看到,順利進入到了MySQL。

14、但是直接輸入MySQL的簡單命令之后,發現並不能操作數據庫,會提示報錯:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下圖所示。

圖片

15、這個報錯的意思是告訴你重設密碼,此時只需要輸入命令重新設置密碼即可。至於MySQL重設密碼的方法網上有很多,在這里不展開講述了,小編用的語法是:alter user 'root'@'localhost' identified by '123456';,其中123456是重設的密碼,大家可以自定義的,順利設置完成之后記得刷新權限:flush privileges;,爾后你就可以正常操作數據庫了。該步驟的具體操作過程如下圖所示。

圖片

以上就是我在安裝過程中所遇見問題 折騰了好幾個小時 希望對大家有幫助 當然上面有些信息來源於網上查找 ,如果有什么問題或者想交流的可以聯系我

三,聯系方式

qq:2061302791

微信:xie2061302791

電話:15284524485

個人網站:https://xieyingpeng.github.io

Github:https://github.com/xieyingpeng/

博客園:https://www.cnblogs.com/Xieyingpengz

知乎:https://www.zhihu.com/people/nan-qiao-12-73

gitee:https://gitee.com/xie-yingpeng/project-1.git

bilibili:https://space.bilibili.com/617198338?share_medium=android&share_source=copy_link&bbid=XY2BDF522C748A159BE7DD354D6DFFB963728&ts=1612520115798![]


免責聲明!

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



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