1. 程式人生 > >MySQL 建立連線

MySQL 建立連線

                       

因為專案的需要,我極不情願地從sql server轉到了mysql

之所以是極不情願,果然是因為在SSMS的溫暖懷抱裡面呆得太久了啊,人是會變懶的!!!

好吧既然用了mysql那就索性寫點東西下來。
安裝mysql我不具體描述了,總體就是下載.zip包->解壓->設定環境變數->更改my.ini檔案->新建...\data

資料夾->管理員命令列配置mysql等等,網上這塊的東西不少,而且還沒有怎麼過期(比如這篇教程
需要注意的是,我列出的這個百度經驗到配置mysql都是沒問題的,但後面安裝mysql以及啟動服務就有問題了!

這裡不得不重申一下我的憤怒:網上教程多為重複轉載及過期內容!作為一個更新換代如此之快以至於像“apa酒店”、“三星note7爆炸不給國人消費者道歉”等新聞都已經迅速降溫消失殆盡的當今中國網際網路,技術教程性的文章竟多數過期,真當檢討!

好回到正題,關於我剛才列出的那個百度經驗,有幾點需要注意的:

  • 安裝後啟動mysql服務報錯3534是因為沒有初始化,而且初始化不要在....\bin
    資料夾中,先用cd命令退回到...\system32資料夾內再初始化+啟動mysql服務
  • 解決方法為鍵入命令: 
    • mysqld –remove 注:先刪除已安裝的mysql服務
    • mysqld –install 注:再重新安裝mysql服務
    • mysqld –initialize 注: 一定要初始化
    • net start mysql
    • 成功開啟mysql服務

我想寫的就是開啟服務後無法與mysql新建連線提示錯誤1045的解決辦法

如下圖所示

error 1045

錯誤1045本質上是密碼錯誤禁止訪問,我們通過修改root使用者密碼為自己的密碼來達到重置的效果

經過一下午在網上的搜尋,我終於總結出瞭解決方案:

  • 首先,在my.ini檔案中加入skip-grant-tables我的my.ini檔案是這麼寫的,記得‘#’要去掉,問題解決後要加上
    我的my-ini檔案截圖.png

  • 關閉mysql服務:net stop mysql接著重啟它net start mysql

  • 輸入mysql -h localhost -u  root -p來建立本機連線
  • 隨便輸入什麼密碼,無所謂
    mysql命令列介面.png

  • 鍵入use mysql;注:分號不能省!!!大概像這樣,會返回database changed鍵入use.png

  • 鍵入update mysql.user set authentication_string=password("你設定的密碼在這裡輸入") where user="root" ;
    • 這裡就顯示出來網上教程的過期了,mysql資料庫下已經沒有password這個欄位了,所以原來的mysql> UPDATE user SET password=PASSWORD(‘newpswd’)WHERE user=’root’;命令不管用了!!
    • password欄位在mysql5.7版本後已經變成了authentication_string!坑人吧~~~
  • 最後返回的資訊應為這種,則已成功修改
    返回的資訊.png
  • 編輯my.ini檔案註釋掉skip-grant-tables這一行
  • 退出.png

    然後關閉MySQL再啟動,use net stop mysql and net start mysql,否則MySQL仍能免密碼登入

 

檢驗效果

   

成功.png

至此,問題解決. peace out :)


visitor tracker
訪客追蹤外掛


           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智慧的隊伍中來!http://www.captainbed.net

這裡寫圖片描述