我无法使用 Google Chrome 通过 cookie 身份验证登录 phpMyAdmin 实例。我总是被弹回到登录页面,并出现有关 cookie 的警告。
我正在运行 Ubuntu 10.04.2 LTS 服务器、MySQL 服务器 5.1.41、Apache 2.2.14,并且刚刚下载了 phpMyAdmin 3.4.4。我在 Mac OS X 10.6.8 上使用 Chrome 稳定版(目前为 13)作为浏览器。
我已经使用 phpMyAdmin 包提供的安装脚本完成了设置,并使用了 cookie 身份验证。但是当我导航到http://localhost/phpmyadmin/index.php登录后,提交表单后会重定向回登录表单,没有任何错误消息或提示。
我尝试从 Google Chrome 设置中清除所有浏览数据,然后重新加载/phpmyadmin/index.php
。有一条消息说“必须启用 Cookie”,但这只出现一次,刷新后就消失了。登录仍然无法进行。
我也尝试了 Safari 5,结果完全相同(包括 cookie 警告消息)。不过 Firefox 6.0 登录成功。
在我尝试更改“配置”身份验证(通过在 config.ini.php 中输入“root”和密码)后,Google Chrome 现在可以登录,但没有创建数据库的权限。
最后,我必须使用命令行完成数据库设置。
这可能是什么问题?
答案1
您使用哪种安装程序来安装 MySQL?您下载的是 .dmg 还是下载源代码并自行编译?了解这一点很重要,因为这决定了 MySQL 的初始设置方式。
这里可能存在两个独立的问题。
- MySQL 初始化脚本未在安装后/安装期间运行,因此没有安装事实上的数据库。
要检查这一点:
$ mysql -u root localhost -p
Enter Password: <-Enter the root password for MySQL
$ mysql> show databases; <ENTER>
$ +--------------------+
$ | Database |
$ +--------------------+
$ | information_schema |
$ | test |
$ +--------------------+
$ 2 rows in set (0.01 sec)
mysql>
如果您运行该命令后没有得到我上面发布的内容,则您必须在您的机器上找到 MySQL 初始化脚本。它很可能位于 中/usr/local/mysql/scripts
。因此,您的 MySQL 安装应该位于 中/usr/local/mysql
。要运行的脚本将来自mysql_install_db
上面提到的脚本目录。
- 听起来好像运行基于 Web 的初始化程序时您的配置可能未写入 config.ini.php。您可能需要调查一下。我记得,在使用 phpMyAdmin 进行在线设置后,您必须手动进入并将 config.ini.php 移动到 phpMyAdmin 根目录中的 /config 目录。简而言之,检查您的 config.ini.php,确保它正确无误,并确保它位于正确的目录中,并且拥有 Apache 在其下运行的进程的用户拥有 rw 权限(通常是 apache:apache)。
附加说明:my.conf 中的参数可能"skip-networking"
配置为 true。如果是这种情况,则连接到 MySQL 的唯一方法是通过 unix 套接字,它通常位于 /var/run/mysqld/mysqld.sock。my.cnf 将位于安装路径下的某个位置。由于这可能会有很大差异,我无法确切告诉您它在哪里。但是,在查看 my.cnf 时,也请查看参数"bind-address"
。如果将此参数设置为奇怪的值,则在需要通过网络访问服务器时会遇到问题。此外,如果它绑定到 localhost 或 127.0.0.1,您将需要确保 phpMyAdmin 正在连接到这两个地址之一上的服务器,并且您用于从 phpMyAdmin 登录 MySQL 的用户帐户与该参数中的主机匹配。e.g. root@localhost
希望这能有所帮助。不过我们肯定能够解决这个问题。MySQL/phpMyAdmin 非常常见,这里也有一些非常聪明的人。请告诉我们。