為什麼這篇phpmyadmin忘記密碼鄉民發文收入到精華區:因為在phpmyadmin忘記密碼這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者KawasumiMai (全力全壊)看板PHP標題[請益] MySQL #1045時間Wed N...
如題....
話說事情是這樣的
XAMPP跟Appserve的phpMyAdmin好像不一樣
後者可以用創建的各種帳號登入
但是XAMPP只給root登入的樣子?
簡單的說就是...
稍早在管理資料庫的時候(root)
發現在資料表的地方並沒有像之前Appserv一樣有按鈕可以直接修改該行的值
甚至連刪除該行資料的地方都沒看到
覺得很奇怪
就去看了一下root的權限
所有的東西都打勾了
結果...看到root有127.0.0.1跟localhost兩種
這兩者...應該是一樣的吧?
就順手把127.0.0.1的部分砍了...
然後就登出了?!
然後就登不進了
然後就#1045了= =....
用cmd跑指令,一樣顯示1045
用phpMyAdmin,一樣顯示1045
然後看了一下XAMPP的MySql設定
網路上之前找到裝好修改root密碼的地方
好像也沒被動到什麼
但是就這樣登不進了= =
不過php的code中
其他的帳號連入MySQL還是可以正常運作的
也就是說現在純粹只是不能管理資料庫而已= =
**
有什麼方法可以在不重裝下進行root重設嗎?
還有
root登入之後沒辦法刪除一行資料也沒辦法修改值只能插入新的
這是眼殘還是真的這功能沒出現?
--
昔、とあるドSなひとは、ドMな人と出会った。
いつかふたりは恋して、Hなことをした。
それは──
S.H.M
シンプル.ハーモニック.モーション
──世界の一番美しいものであります。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.120.160
※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1416931635.A.D5F.html
痾,首先看了一下XAMPP的網頁應該是放在htdocs裡面
所以security的資料夾應該是要手動移植到那裏面才對?
然後127.0.0.1可以連到首頁,這沒問題
127.0.0.1/不存在的資料夾/ 也會正常連到指定的網頁,這也沒問題
但是security那行卻會warning然後噴出XAMPP的安裝路徑?!WTF
解決方案:
綜合網路上找到許多跟#1045相關的解決方案
稍微修改一下之後總算解決了
主要是使用cmd修正的
大致上就是使用mysql-init.txt進行強制寫入
1.關於mysqld_safe --skip-grant-tables :
不知道為什麼XAMPP沒有mysqld_safe
網路上找到的mysqld-nt也沒有,只有普通的mysqld
另外不知道是不是XAMPP的安全性設定還是沒使用mysql_safe還是怎樣
使用--skip-grant-tables選項啟動的MySQL
不允許使用cmd的mysql指令去create user
不過也許cmd可以直接執行MySQL語法,但是這裡就先放棄了
2.使用mysqld --init-file=mysql-init.txt
原本是先UPDATE,後來發現失敗,因為整行root都不見了哪有東西UPDATE
後來使用INSERT,不過因為資料表架構不清楚,所以單純寫入user跟password
發現root可以進去了,但是連瀏覽權限都沒有
之後再跑一次
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' with grant option;
這次root有完整的修改權限了
但是這次沒有密碼,而且有另一個root但沒有指定區域的帳號
估計應該是INSERT加進去的,搞不好不用INSERT
而且很奇怪的是明明有新增修改User的權限
也有修改資料庫的權限,卻沒有新增資料庫的權限(全勾)
看了一下好像是127跟localhost的差別
之後就直接使用phpMyAdmin,把root@127加進去
就變成原本的狀態了,也可以正常登入了
3.不過現在兩個root的權限委讓部分都是true,其他的帳號是false
也忘記原本是true還是false了,這點讓人有點在意
那個是做什麼用的?
另外,跟之前說的一樣
沒有出現資料表欄位修正跟刪除的功能
該不會這版的phpMyAdmin設計不良吧= =.......
結論:
使用mysqld --init-file去跑新增root帳號並賦予權限
==
※ 編輯: KawasumiMai (60.251.157.241), 11/26/2014 12:38:33