作者KawasumiMai (全力全壊)
看板PHP
标题[请益] MySQL #1045
时间Wed Nov 26 00:07:13 2014
如题....
话说事情是这样的
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://webptt.com/cn.aspx?n=bbs/PHP/M.1416931635.A.D5F.html
1F:推 crossdunk: 我记得一开始设定是没有密码 你要新增密码进去 11/26 00:31
2F:→ crossdunk: config里面也有地方需要改 11/26 00:31
3F:推 LaPass: MySQL可以用CMD下命令 11/26 10:10
4F:→ anest: 改用Navicat Lite吧 phpMyAdmin设定错就爆了...... 11/26 10:21
5F:→ alog: 刚好给一个机会了解mysql 11/26 10:31
6F:→ alog: 至於用什麽client端我是觉得还好 11/26 10:31
7F:推 alog: 只要你帐号有存取mysql的权限要改回来都好改 11/26 10:32
8F:→ cf1064: 进phpmyadmin由127.0.0.1改为localhost可以吗? 11/26 10:33
9F:→ alog: mysql资料表 直接复写里面的table然後重开电脑 11/26 10:33
10F:→ KawasumiMai: to 1楼:那个密码之前改过了,现在是cmd修密码没用 11/26 10:40
11F:→ KawasumiMai: to cf1064:现在是root登不进phpMyAdmin 11/26 10:40
14F:→ cf1064: 重设密码看看? 11/26 10:54
感谢cf1064的回应,不过出了点小问题
痾,首先看了一下XAMPP的网页应该是放在htdocs里面
所以security的资料夹应该是要手动移植到那里面才对?
然後127.0.0.1可以连到首页,这没问题
127.0.0.1/不存在的资料夹/ 也会正常连到指定的网页,这也没问题
但是security那行却会warning然後喷出XAMPP的安装路径?!WTF
15F:→ alog: 1. 先备份 mysql 放资料库的资料夹 11/26 11:01
16F:→ alog: 2. 尝试用程式 mysql 资料库内的 user 资料表 11/26 11:02
17F:→ alog: 存取 11/26 11:02
18F:→ alog: 如果可以写入,就塞纪录进去 然後重开系统 11/26 11:03
19F:→ alog: user资料表的格式网路有,那是放mysql 帐号密码的地方 11/26 11:05
20F:→ alog: 3. 或者重装之後,将原本备份的资料夹资料移回去 11/26 11:08
21F:→ alog: 然後新灌的资料库资料夹内的mysql资料不要盖到就好 11/26 11:09
==
解决方案:
综合网路上找到许多跟#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
22F:推 alog: mysqld_safe 是你在linux上才会看到 11/26 12:39
23F:推 Kenqr: 想用mysql的帐号登入pma 要修改config.inc.php这个设定档 11/26 19:48