服務啓動後停止 mysql5.7不能啓動(mysqld --initialize 命令)不能解決?看這裏!!!


mysqld --initialize 命令創建了date文件之後還是不能啓動mysql的解決辦法(win10,mysql5.7)

今天因爲測試的原因,關掉了本機的mysql數據庫服務?然後啓動報錯


然後就開始了爲期兩小時的尋找之路

第一種方法:重裝mysql簡單粗暴,下面的各位看官可以不用看了~~~~~

~~~~~~~~~~~~~~~~~<分隔符~~~~~~~~~~~~~~~~~~~~~

第二種方法刪除data文件,然後初始化數據庫信息,重新啓動就可以了

簡單來說:  mysqld remove


                mysqld --initialize    (執行中會卡一下,然後data文件夾中會生成文件)

                mysqld install


                net start mysql

網上的方法一般到這裏就可以解決了.


遇到mysql -u root -p直接回車登陸不上的情況,原因在於5.7版本在安裝時自動給了一個隨機密碼,坑爹的是在init步驟的時候不像linux系統會給出命令行提示,需要手動在mysql目錄下搜索*.err,以文本形式打開才能看到如下內容(紅色爲密碼):

016-02-25T15:09:43.033062Z 1 [Note] A temporary password is generated for root@localhost: >mso<k70mrWe

第二種方法中的mysqld --initialize命令稍微再詳細一點,各位湊合着理解吧

之前修改mysql安裝文件夾下面的my.ini文件爲

其中basedir爲安裝目錄,datadir是安裝目錄下的data文件,這個文件夾其實可以不用我們手動去創建

在e:/mysql安裝目錄/bin下面以管理員的方式啓動cmd命令符執行mysqld --initialize方法

mysql會自動去讀取安裝目錄下的my.ini文件,然後找到datadir,幫我們創建這個data文件夾,並生成如下文件


~~~~~~~~~~~~~~~~~/分隔符>~~~~~~~~~~~~~~~~~~~~~

出現下圖的請繼續往下看


~~~~~~~~~~~~~~~~~終極分隔符~~~~~~~~~~~~~~~~~~~~~

終極方法:(可以使用腳本來修復)但是我們不用~就是這麼皮,因爲不會

我遇到的情況就是上面無法啓動的狀況,更有時候執行mysqld --initialize 命令

會報錯.解決辦法就是清空data文件,但我清空了,執行mysqld --initialize 命令也不報錯了

data下面的文件也生成了,net start mysql 的時候還是無法啓動,有木有很崩潰???????

解決辦法:

cd 到D:\Program Files\MySQL\MySQL Server 5.7\bin>mysqld -nt --skip-grant-tables 以管理員身份運行這段命令,相當於在my.ini中[mysqld]下加入skip-grant-tables,就可以跳過登錄校驗,此時命令窗口不會動啦,

重開一個窗口 ,直接接登錄

mysql  (前提:mysql加入環境變量)


mysql> use mysql

下面是5.7以後更新賬戶密碼的新語句,

update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

5.7以後password字段不在存在,變成了authentication_string,否則

會報如下錯誤:ERROR 1054 (42S22): Unknown column 'password' in 'field list'


ok,愉快的登陸吧!

商業轉載請聯繫作者獲得授權,非商業轉載請註明出處

   


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章