【问题标题】:After reinstalling MAMP PRO, apps can't find databases重新安装MAMP PRO后,应用找不到数据库
【发布时间】:2017-02-13 22:16:40
【问题描述】:

感谢 MAMP PRO 的 惊人 卸载程序,它删除了您的所有数据库,我不得不从在线版本中恢复它们。现在唯一的问题是,当我获取在线工作的代码和在线工作的数据库时,代码找不到数据库。运行 MAMP PRO 后,我可以通过命令行查看数据库:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| donatetheweight    |
| mysql              |
| natiood8_wrd1      |
| performance_schema |
| personalprpro      |
| test               |
+--------------------+

我有权限:

+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*2E80906F903DA9B84678ED79A48FF414B4FDC890' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+

更不用说我可以使用 Sequel Pro 查看本地主机上的数据库。在我的代码中,我使用的是 Fat-Free Framework,它可以在网上正常运行,并且在我重新安装之前就可以使用。这是命令:

$f3->db = new \DB\SQL(
      'mysql:host=localhost;port=8889;dbname=donatetheweight',
      'root',
      'notroot'
    );

我的 MAMP PRO 设置为 MAMP 端口(http->8888、https->8890、mysql->8889),我正在通过端口 8888 上的正确主机访问我的站点。我得到的错误是内部服务器错误[1049] 等:

还有什么我可以尝试的吗?有一段时间我确实注意到我遇到了 my.cnf 文件冲突,但我不小心点击了“不再显示此内容”,所以我不确定在哪里查找该错误。

为了确保数据库存在(并且这不是 ERROR 1049 (42000): Unknown database 的副本,我尝试重新创建数据库并得到了这个:

mysql> create database donatetheweight;
ERROR 1007 (HY000): Can't create database 'donatetheweight'; database exists

【问题讨论】:

  • 我认为您不需要端口号。不带端口号试试
  • 如果默认端口号是 3306,那么它怎么知道使用端口 8889?附言试过了,还是一样的错误。
  • 应该默认到正确的端口。
  • 不幸的是,它没有。我刚刚删除了文本port=8889;,它给出了同样的错误,只是错误文本中没有端口。
  • 你能连接到另一个数据库吗?

标签: php mysql database mamp mamp-pro


【解决方案1】:

验证您的 mysql.sock 文件是否丢失(使用mysqladmin variables 查看它在哪里查找并在那里检查),重新启动您的计算机,启动 MAMP(不是 PRO),然后启动 MAMP PRO。通过使用两个数据库工具(我使用 Sequel Pro 和 PHPMyAdmin)确保您的更改持续进行仔细检查。

【讨论】:

    猜你喜欢
    • 2017-02-28
    • 2012-09-20
    • 2013-02-15
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 2014-01-04
    相关资源
    最近更新 更多