一个关于 mysql 的奇怪故障

2014-01-02 15:05:24 +08:00
 foru17
描述一下自己的情况吧
1.服务器是centos 6.4 LNMP。
PHP 5.4.23 (cli) (built: Dec 11 2013 06:48:03)
mysql Ver 14.14 Distrib 5.6.15, for Linux (i686) using EditLine wrapper

2.两个程序用到了 mysql,一个是 wordpress,一个是 ghost,有 Phpmyadmin 面板

现在的问题是

1.ssh终端下,可以通过 mysql -u root -p,输入密码 mypassword 的方式登录数据库,show dadabaes,use ,show tables 都正常。
2.phpmyadmin 下,无法使用帐号 root + mypasword 的方式登录,可是通过其他帐号登录。
a.如果 phpmyadmin 的 config.inc.php下的
$cfg['Servers'][$i]['host'] = 'localhost';
则,会出现#2002错误
b.如果$cfg['Servers'][$i]['host'] = '127.0.0.1';
则出现#1045错误

对后台这些不是很熟悉,大家谁能指点一下,现在博客挂了几天了 ╮(╯_╰)╭
3405 次点击
所在节点    MySQL
16 条回复
foru17
2014-01-02 15:21:14 +08:00
通过mysqld_safe --skip-grant-tables &,然后命令行重置 root 帐号为一个新密码后,依旧会出现1045的问题,无法使用 root 帐号登录。
Sunyanzi
2014-01-02 15:37:12 +08:00
不知道细节 ... 但是猜想也许是 MySQL 版本兼容的问题 ..? 试试看这样 ..?

UPDATE `user` SET `password`=OLD_PASSWORD( 'mypassword' ) WHERE `user`='root';
FLUSH PRIVILEGES;

然后在 phpMyAdmin 里面用 root / mypassword 登录 ...
mahone3297
2014-01-02 15:41:30 +08:00
2002错误,网上一搜一大堆,你可以看看
http://jafy00.blog.51cto.com/2594646/693649
localhost 应该是用sockset连接的,127.0.0.1应该是用ip连接的

然后1045的话,你也可以网上搜搜,应该是权限的问题

另外,你也可以看看my.cnf的配置文件,看看是否有bind ip等
shiny
2014-01-02 15:49:05 +08:00
1、你输入的密码应该是 root@'localhost' 的密码。
2、php5.3+ 连接 localhost 的时候有时候有问题,可能连到了 socket http://cn2.php.net/function.mysql-connect
「Note:
只要将 server 指定为 "localhost" 或 "localhost:port",MySQL 客户端库会越过此值并尝试连接到本地套接字(Windows 中的名字管道)。如果想用 TCP/IP,应该用 "127.0.0.1" 代替 "localhost"。」

解决办法:
为 root@'127.0.0.1'设个密码,然后有127.0.0.1连接。
foru17
2014-01-02 15:59:40 +08:00
@mahone3297 目前已经搜索了很多,基本上目前网上有的解决方法都试过了,依旧是这个问题,我叫我一个搞后端的朋友帮我看了,他也头疼 ing。
foru17
2014-01-02 16:04:38 +08:00
@Sunyanzi 无效,现在我真的是郁闷了
Sunyanzi
2014-01-02 16:10:42 +08:00
@foru17 OLD_PASSWORD 无效的话 ... 去掉 OLD_ 前缀试试看 ... 也就是这样 ...

UPDATE `user` SET `password`=PASSWORD( 'mypassword' ) WHERE `user`='root';
FLUSH PRIVILEGES;

另外一种可能性是 localhost 和 127.0.0.1 这两个 root 之前的密码不同 ... 一并刷掉好了 ...
johnlui
2014-01-02 16:12:52 +08:00
可以考虑重装MySQL,注意备份/data
johnlui
2014-01-02 16:13:09 +08:00
会不会是端口的问题?
tempdban
2014-01-02 16:36:16 +08:00
告诉你个事 你没有把centos6.4自带的mysql-client卸掉
rpm -e mysql-client --nodeps
然后再重新跑一遍安装lnmp脚本
rrfeng
2014-01-02 16:45:05 +08:00
友情提醒:
查看一下权限表
mysql 的『用户名』:user@domain 是一体的,比如 root@localhost 和 root@127.1 其实是不一样的……
wzxjohn
2014-01-02 16:50:36 +08:00
楼主各位有木有想过PhpMyAdmin有一个配置参数是:
禁止使用root用户登录。
horsley
2014-01-02 16:58:36 +08:00
看看是不是有这种账户存在
xampp就这样
http://www.huangkeye.cn/wp-content/uploads/2013/01/users.png
foru17
2014-01-02 17:46:30 +08:00
@wzxjohn wordpress 帐号用的也是 root ,也无法链接。排除
tempdban
2014-01-02 20:06:33 +08:00
@foru17 大哥您mysql是编译安装么
fire9
2014-01-03 16:19:46 +08:00
@foru17 可以通过socket,port来连接。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95375

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX