[請益] MySQL#1045 (手殘刪root) (Solved)

看板PHP作者 (全力全壊)時間11年前 (2014/11/26 00:07), 11年前編輯推噓5(5018)
留言23則, 7人參與, 最新討論串1/1
如題.... 話說事情是這樣的 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

11/26 00:31, , 1F
我記得一開始設定是沒有密碼 你要新增密碼進去
11/26 00:31, 1F

11/26 00:31, , 2F
config裡面也有地方需要改
11/26 00:31, 2F

11/26 10:10, , 3F
MySQL可以用CMD下命令
11/26 10:10, 3F

11/26 10:21, , 4F
改用Navicat Lite吧 phpMyAdmin設定錯就爆了......
11/26 10:21, 4F

11/26 10:31, , 5F
剛好給一個機會了解mysql
11/26 10:31, 5F

11/26 10:31, , 6F
至於用什麼client端我是覺得還好
11/26 10:31, 6F

11/26 10:32, , 7F
只要你帳號有存取mysql的權限要改回來都好改
11/26 10:32, 7F

11/26 10:33, , 8F
進phpmyadmin由127.0.0.1改為localhost可以嗎?
11/26 10:33, 8F

11/26 10:33, , 9F
mysql資料表 直接複寫裡面的table然後重開電腦
11/26 10:33, 9F

11/26 10:40, , 10F
to 1樓:那個密碼之前改過了,現在是cmd修密碼沒用
11/26 10:40, 10F

11/26 10:40, , 11F
to cf1064:現在是root登不進phpMyAdmin
11/26 10:40, 11F

11/26 10:53, , 12F
11/26 10:53, 12F

11/26 10:54, , 13F

11/26 10:54, , 14F
重設密碼看看?
11/26 10:54, 14F
感謝cf1064的回應,不過出了點小問題 痾,首先看了一下XAMPP的網頁應該是放在htdocs裡面 所以security的資料夾應該是要手動移植到那裏面才對? 然後127.0.0.1可以連到首頁,這沒問題 127.0.0.1/不存在的資料夾/ 也會正常連到指定的網頁,這也沒問題 但是security那行卻會warning然後噴出XAMPP的安裝路徑?!WTF

11/26 11:01, , 15F
1. 先備份 mysql 放資料庫的資料夾
11/26 11:01, 15F

11/26 11:02, , 16F
2. 嘗試用程式 mysql 資料庫內的 user 資料表
11/26 11:02, 16F

11/26 11:02, , 17F
存取
11/26 11:02, 17F

11/26 11:03, , 18F
如果可以寫入,就塞紀錄進去 然後重開系統
11/26 11:03, 18F

11/26 11:05, , 19F
user資料表的格式網路有,那是放mysql 帳號密碼的地方
11/26 11:05, 19F

11/26 11:08, , 20F
3. 或者重裝之後,將原本備份的資料夾資料移回去
11/26 11:08, 20F

11/26 11:09, , 21F
然後新灌的資料庫資料夾內的mysql資料不要蓋到就好
11/26 11:09, 21F
== 解決方案: 綜合網路上找到許多跟#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

11/26 12:39, , 22F
mysqld_safe 是你在linux上才會看到
11/26 12:39, 22F

11/26 19:48, , 23F
想用mysql的帳號登入pma 要修改config.inc.php這個設定檔
11/26 19:48, 23F
文章代碼(AID): #1KTAaprV (PHP)
文章代碼(AID): #1KTAaprV (PHP)