连不上mysql,试了很多

Posted

技术标签:

【中文标题】连不上mysql,试了很多【英文标题】:Can't connect to mysql, have tried a lot of things 【发布时间】:2012-07-09 01:31:27 【问题描述】:

我已经阅读了大量的主题和解决方案,我并没有刻意尝试制作另一个这些帖子。

现在不碍事了

如果我在本地 osx 文件夹中运行此程序(启用网络共享),我会收到无法连接错误:

<?php

$db = mysql_connect("localhost", "root", "password");

if (!$db) 
die('Could not connect' . mysql_error());

echo 'Connected successfully';

然而,当我去终端并运行以下它工作正常:

mysql -u root -h 'localhost' -p
password<enter>

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1030
Server version: 5.5.25a MySQL Community Server (GPL)

我已更新 php.ini 以指向 /tmp/mysql.sock 以及

【问题讨论】:

你试过用 127.0.0.1 代替 localhost 吗? 【参考方案1】:

尝试使用phpinfo(); 显示您的php 配置,您可能会从中学到很多东西。

另外,检查 MySQL 使用的端口号,我见过很多例子,它不是 OSX 安装的标准。

【讨论】:

如何查看端口号? 好吧wtf!它说我的套接字不是 /tmp/mysql.sock 就像我在 php.ini 中设置的那样......而且我确实重新启动了 apache 在 phpinfo 上有两行:mysql.default_port 或 mysqli.default_port 取决于您的连接设置。【参考方案2】:

如果您刚刚开始使用 PHP5,则不应使用 mysql_connect,而应使用 mysqli_connect (使用 mysql 扩展名是 discouraged)

检查connect_error 以获取有关连接失败原因的更多信息。

(取自上述文档的示例)

<?php
$mysqli = @new mysqli('localhost', 'root', 'password', 'THE DB NAME');

// Works as of PHP 5.2.9 and 5.3.0.
if ($mysqli->connect_error) 
    die('Connect Error: ' . $mysqli->connect_error);

【讨论】:

它说'没有这样的文件或目录'。我基本上试图在本地安装 phpmyadmin,它一直给出错误 2002。当我以这种方式尝试时(以消除 phpyadmin 作为错误的变量..),我明白了。 “没有这样的文件或目录” 我感觉警告比这更复杂一点,但我猜你需要更改mysqli.default_socket。对于我在 OSX 上的情况,我必须将其从 /var/mysql/mysql.sock 更改为 /tmp/mysql.sock。一旦你在上面我的答案中使用测试脚本正确地完成它,你将对你的 mysql.default_socket 路径进行等效的更改。 你说得对。我运行了 phpinfo,它仍然显示旧路径...但我在 /etc/php.ini 中更改了它...在 OSX 中是否有其他地方? (即 php.ini 文件) 附言。我改变了它,我确实重新启动了 apache php -i | grep Loaded 会告诉你加载的php.ini的路径

以上是关于连不上mysql,试了很多的主要内容,如果未能解决你的问题,请参考以下文章

MySQL远程连不上的一种解决方法0

Linux服务器上安装MySQL,远程链接就是连不上

Navitcat连接远程mysql服务器连不上

我安装了mysql后,navicat总是连不上是啥问题?说是与mysql连不上。。。。。

我怎么都连不上es文件浏览器的共享,试了很多次,也查了教程。希望能获得大家的帮助 m(_ _)m

MYSQL连不上