MySQL 建立連線
阿新 • • 發佈:2018-12-05
因為專案的需要,我極不情願地從sql server轉到了mysql
之所以是極不情願,果然是因為在SSMS的溫暖懷抱裡面呆得太久了啊,人是會變懶的!!!
好吧既然用了mysql那就索性寫點東西下來。
安裝mysql我不具體描述了,總體就是下載.zip包->解壓->設定環境變數->更改my.ini檔案->新建...\data
需要注意的是,我列出的這個百度經驗到配置mysql都是沒問題的,但後面安裝mysql以及啟動服務就有問題了!
這裡不得不重申一下我的憤怒:網上教程多為重複轉載及過期內容!作為一個更新換代如此之快以至於像“apa酒店”、“三星note7爆炸不給國人消費者道歉”等新聞都已經迅速降溫消失殆盡的當今中國網際網路,技術教程性的文章竟多數過期,真當檢討!
好回到正題,關於我剛才列出的那個百度經驗,有幾點需要注意的:
- 安裝後啟動mysql服務報錯3534是因為沒有初始化,而且初始化不要在
....\bin
cd
命令退回到...\system32
資料夾內再初始化+啟動mysql服務 - 解決方法為鍵入命令:
- mysqld –remove 注:先刪除已安裝的mysql服務
- mysqld –install 注:再重新安裝mysql服務
- mysqld –initialize 注: 一定要初始化
- net start mysql
- 成功開啟mysql服務
我想寫的就是開啟服務後無法與mysql新建連線提示錯誤1045的解決辦法
如下圖所示
錯誤1045本質上是密碼錯誤禁止訪問,我們通過修改root使用者密碼為自己的密碼來達到重置的效果
經過一下午在網上的搜尋,我終於總結出瞭解決方案:
首先,在
my.ini
檔案中加入skip-grant-tables
我的my.ini檔案是這麼寫的,記得‘#’要去掉,問題解決後要加上關閉mysql服務:
net stop mysql
接著重啟它net start mysql
- 輸入
mysql -h localhost -u root -p
來建立本機連線 隨便輸入什麼密碼,無所謂
鍵入
use mysql;
注:分號不能省!!!大概像這樣,會返回database changed- 鍵入
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!坑人吧~~~
- 這裡就顯示出來網上教程的過期了,mysql資料庫下已經沒有password這個欄位了,所以原來的
- 最後返回的資訊應為這種,則已成功修改
- 編輯my.ini檔案註釋掉skip-grant-tables這一行
然後關閉MySQL再啟動,use
net stop mysql
andnet start mysql
,否則MySQL仍能免密碼登入
檢驗效果
至此,問題解決. peace out :)
visitor tracker
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智慧的隊伍中來!http://www.captainbed.net