1. 程式人生 > >win10解壓安裝mysql方法及遇見的問題(缺少MSVCR120.dll檔案、服務無法啟動)

win10解壓安裝mysql方法及遇見的問題(缺少MSVCR120.dll檔案、服務無法啟動)

WIN10系統MYSQL的下載與安裝詳細教程

第一步:下載MySQL

具體過程如下: 1.選擇要下載的型別,64位還是32位:

*點選download後就會到下圖的下載介面,這時最顯眼的是sign up,有些人會覺得需要先註冊賬號才能下載,點選圖中紅色的,直接免註冊下載。平時再下載JDK等東西的時候,也是可以免註冊下載的

2.解壓並安裝Mysql

(1)將下載的包解壓到指定的路徑,自己可以指定路徑,我直接解壓到了D盤

我的Mysql包的完整路徑為:D:\mysql\mysql-5.7.22-winx64

(2)配置環境變數: 新增系統環境變數: 鍵名:MYSQL_HOME 

值為:D:\mysql\mysql-5.7.22-winx64

接著再Path中新增:%MYSQL_HOME%\bin 

(注意:如果你是一個沒有配置過環境變數的小白,再次特別提醒,不要刪除任何東西,只需再原來的後面加上分號,然後加上自己要配置的環境變數就可以了)

3.完成上面這些後,準備my.ini檔案

以前的版本解壓之後,目錄下會有一個my-default.ini或my.ini檔案,但是5.7.18版本以後,解壓後,就不帶這個檔案了,這時我們就要手動建立好my.ini檔案,然後放置到指定的目錄下。

1)新建文字文件(就是開啟記事本),然後,改名字位my-default或my這兩個名字都可以。將下面的內容貼上進去記事本。 

####################################################

    [client]

    port=3306

    default-character-set=utf8

    [mysqld]

    port=3306

character_set_server=utf8

    basedir=D:\mysql\mysql-5.7.22-winx64

#解壓目錄

    datadir=D:\mysql\mysql-5.7.22-winx64\data

    #解壓目錄下data目錄  

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [WinMySQLAdmin]

    Dmysqlmysql-5.7.22-winx64binmysqld.exe

####################################################

2)完成上面的操作後,我們放在記事本,其後綴名還是.txt,這個時候我們需要修改檔案字尾名,將其後綴名改為.ini 

( 3 )建立好my.ini檔案後,將其複製貼上到D:\mysql\mysql-5.7.22-winx64\bin,及放到mysql所在的bin目錄下。

4.使用管理員身份開啟命令提示符,win10系統下,點選開始,然後輸入cmd,滑鼠右擊cmd,選擇以管理員身份執行或者直接右鍵開始選單,選擇以管理員身份執行

5.切換目錄至mysql包所在的bin目錄。然後輸入 mysqld.exe -install 

執行命令後,提示:Service successfully installed. 表示安裝成功.

可是我在這一步的執行中遇到問題,提示缺少MSVCR120.dll檔案

解決辦法:

網上搜到的第一個方案就是,下載一個MSVCR120.dll然後,放到C盤windows,system32的目錄下面,後來我還是解決問題,我同學是win7的系統,她這樣做覺得問題了,我是win10就沒法這樣解決,也試了其他覺得方法,還是不行,卡了好久。 

下面這個回答還是可取的: 

呵呵,vc++已經更新到了2015版,msvcp類檔案的版本號刷到了140,而大部分解決方案還在用不知道哪個年代就開始祖傳的複製貨,又是95又是Me的,特麼現在還有人用Windows 95系統?敢不敢複製貼上之前自己試一試?敢不敢修改一下把祖傳了十年的答案加上Windows8.1、Windows10? 

在此強烈建議大家抵制不論什麼dll都只會下載這個檔案丟到系統盤,然後開啟cmd用regsvr命令註冊的蠢辦法,這完全是撞大運。   有些人試了下上面的辦法可能覺得有用,認為我危言聳聽。那只是你運氣好,瞎貓碰到死耗子。如果64位系統按照他的說法去把dll檔案放到syswow64裡,而你要開啟的軟體或遊戲卻是個32位程式,你看看是不是有用。即使版本對應,你光下載這個dll也未必有效,因為你並沒有安裝vc++執行庫,有些軟體是必須完整安裝VC++執行庫才能執行的。

另: msvcp、msvcr、vcomp140.dll屬於VC++2015版 msvcp、msvcr、vcomp120.dll屬於VC++2013版 msvcp、msvcr、vcomp110.dll屬於VC++2012版 msvcp、msvcr、vcomp100.dll屬於VC++2010版 msvcp、msvcr、vcomp90.dll屬於VC++2008版 msvcp、msvcr60、71和80.dll,以及vcomp.dll(不帶數字版本號)屬於VC++2005版 

除了丟失、缺少這類錯誤之外,如果一個程式開啟之後提示“並行配置錯誤”,那麼也是因為沒有安裝VC++執行庫。

出現這種情況,而你又不知道應該安裝哪個版本,一個個試起來又覺得太麻煩的話,建議百度搜DirectX Repair V3.5 增強版,這個工具是會在檢測修復DirectX的同時順便安裝所有版本的VC++執行庫的,也能解決msvcp之類的丟失問題。注意,必須是增強版,標準版、線上版沒有VC++。 

因為我缺少的是msvcr120.dll,所以我下載的是Visual C++ Redistributable Packages for Visual Studio 2013,這個東西就幾兆,很小,下載後已安裝就可以了。

安裝成功後,再按照上面的步驟,切換到mysql包所在的bin目錄下後,再輸入mysqld -install然後回車。

就能看到Service successfully installed.提示

6.初始化mysql資料,並建立一個具有空密碼的root使用者,開啟cmd執行如下命令: mysqld –initialize-insecure –user=mysql 

注意:最後的引數 –user=mysql 在 windows 也可以不用新增,但在 Lunix 等系統下好像很重要。 

執行命令後,等一會後,系統會自動生成相應的 data 目錄,並自動建立好空密碼的 root 使用者。此時表示初始化成功。

7.在cmd,也叫命令提示符中,輸入下面的命令,啟動mysql服務。 

net start mysql 

執行後,提示: MySQL服務正在啟動.. MySQL服務已經啟動成功。

注意:要想登入使用 mysql,服務是必需要先啟動的。以後也一樣 

如果這時候提示:

Mysql無法啟動服務

服務沒有報告任何錯誤


此時去檢查my.ini檔案,ini檔案裡的配置資訊錯誤,

如果data檔案也沒生成,那麼去ini檔案裡檢查相應的配置資訊行,檢視datadir後的地址是否正確

注:最好是直接複製貼上資訊,然後把解壓目錄、解壓目錄下的data目錄地址改為自己的。

此時再去執行mysql --initialize命令

解壓目錄下會初始化生成一個data資料夾

接著執行命令:net start mysql

啟動成功!

接下來,就是登陸mysql

mysql -u root -p

直接回車,因為沒有初始密碼,進去之後一定要去先改密碼,要不然會生成隨機密碼,第二次就進不去了

5.7.9設定密碼的方式有一些變化,老版本密碼是儲存在mysql資料庫user表的password中,而5.7.9的password欄位變為了authentication_string,直接sql命令更改其值,再重啟mysql服務即可!

依次執行命令如下(設定密碼為123456):

use mysql;

update user set authentication_string="123456";

exit;

net stop mysql;

net start mysql;

mysql -u root -p

[輸入密碼]

==========================分界線=====================================

剛安裝好後,按道理是沒有root密碼的,但是我這就是有密碼,而且我還不知道密碼,顯示如下:D:\>mysql -u rootERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

D:\>mysql -u root -p

Enter password: ******

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

處理方法是在my.ini 檔案裡[mysqld]下面新增一句:skip-grant-tables

資料庫啟動的時候 跳躍許可權表的限制,不用驗證密碼,直接登入。

net stop MySQL 關閉資料庫服務,然後net start MySQL 開啟,

如果執行關閉命令,提示無法訪問,那麼切換管理員賬戶執行。

這個時候在登入就不需要密碼了,顯示如下:D:\>mysql -u rootWelcome to the MySQL monitor. ......