无法使用MAMP或社区服务器连接到mysql服务器

无法使用MAMP或社区服务器连接到mysql服务器,mysql,database,mamp,community-server,Mysql,Database,Mamp,Community Server,我用MySQL Workbench创建了一个数据库,现在我需要访问它。因此,我编写了一个php脚本来访问它: <? $db = mysql_connect("127.0.0.1:3306","root", ""); if (!$db){ echo "Could not connect to database"; exit(); } $db_name = "pfc_db"; if (!mysql_select_db

我用MySQL Workbench创建了一个数据库,现在我需要访问它。因此,我编写了一个php脚本来访问它:

<? 
    $db = mysql_connect("127.0.0.1:3306","root", "");

    if (!$db){
        echo "Could not connect to database";
        exit();
    }

    $db_name = "pfc_db";
    if (!mysql_select_db($db_name, $db)){
        die ("Could not select database");
    }

    $sql=mysql_query("select * from CAPAS");
    while($row=mysql_fetch_assoc($sql)){
        $output[]=$row;
        if (isset($output)){
            echo "yes";
            echo $output[0];
        }
        else{echo "no";}
    }
    mysql_close();

?>

我对MAMP和MySQL社区服务器有疑问,我需要在正确的道路上前进。 我已经在mac上安装了MAMP,并将端口切换到默认的mysql端口3306。我已经将PHP测试脚本放在我在htdocs下创建的“Api”文件夹中。所以我在我的浏览器上输入,结果是“无法连接到数据库”。我做得对吗

社区服务器呢?它比妈妈好吗?MAMP应该运行吗?我可以使用社区服务器吗?如果是这样,我应该把PHP脚本放在哪里?哪个文件夹?因为当我尝试对Community Server执行相同的测试时,浏览器开始将php脚本下载到我的下载文件夹,而不是显示错误消息。为什么会这样


正如你所看到的,这些服务器的东西让我的头脑有点混乱,我需要一些帮助来解决这个问题

您不需要安装MySQL社区服务器。MAMP已经附带了MySQL

您需要使用
mysql\u error()
函数在代码中输出更具体的错误

if (!$db){
    echo "Could not connect to database" . mysql_error();
    exit();
}

$db_name = "pfc_db";
if (!mysql_select_db($db_name, $db)){
    die ("Could not select database" . mysql_error());
}

mysql\u错误将从mysql返回错误消息。

您不需要安装mysql社区服务器。MAMP已经附带了MySQL

您需要使用
mysql\u error()
函数在代码中输出更具体的错误

if (!$db){
    echo "Could not connect to database" . mysql_error();
    exit();
}

$db_name = "pfc_db";
if (!mysql_select_db($db_name, $db)){
    die ("Could not select database" . mysql_error());
}

mysql\u error将从mysql返回错误消息。

根据我给用户775263的asnwer,我得到了以下用户表:

+

如您所见,任何用户都设置了任何密码。但后来我发现在bin/phpmyadmin下有一个config.inc.php脚本,其中有以下句子:

$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = 'root';          // MySQL password (only needed
我再次尝试连接
$db=mysql\u connect(“127.0.0.1:3306”,“root”,“root”)并且连接成功。为什么mysql命令行中的users表没有反映这一点?这正常吗?我应该换吗

然后我遇到了另一个问题。它无法选择我在MySQL Workbench上创建的数据库“pfc_db”。我收到错误消息未知数据库“pfc\u db”。但是,当我键入
mysql>显示数据库时所述数据库确实出现在表中:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| pfc_db             |
| test               |
+--------------------+

那么这里可能有什么问题呢?

根据我给用户775263的asnwer,我得到了这个用户表:

+

如您所见,任何用户都设置了任何密码。但后来我发现在bin/phpmyadmin下有一个config.inc.php脚本,其中有以下句子:

$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user
$cfg['Servers'][$i]['password']      = 'root';          // MySQL password (only needed
我再次尝试连接
$db=mysql\u connect(“127.0.0.1:3306”,“root”,“root”)并且连接成功。为什么mysql命令行中的users表没有反映这一点?这正常吗?我应该换吗

然后我遇到了另一个问题。它无法选择我在MySQL Workbench上创建的数据库“pfc_db”。我收到错误消息未知数据库“pfc\u db”。但是,当我键入
mysql>显示数据库时所述数据库确实出现在表中:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| pfc_db             |
| test               |
+--------------------+

那么这里可能有什么问题呢?

好吧,我会自己回答,这样如果有人遇到同样的问题

密码错误是因为我在同一台计算机上安装了两个mysql,所以我在其中一台计算机上检查密码,而浏览器在另一台计算机上查看密码

因此,如果您在密码访问方面有问题,请检查您没有安装两个mysql,并检查config.inc.php文件


我还通过套接字连接更改了TCP/IP,这可以提高将本地主机用作服务器时的速度。

好吧,我会自己回答,这样如果有人遇到同样的问题

密码错误是因为我在同一台计算机上安装了两个mysql,所以我在其中一台计算机上检查密码,而浏览器在另一台计算机上查看密码

因此,如果您在密码访问方面有问题,请检查您没有安装两个mysql,并检查config.inc.php文件

我还通过套接字连接更改了TCP/IP,如果您将本地主机用作服务器,这将提高速度。

这对我来说很有效

sudomkdir/var/mysql sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock

这对我很有效

sudomkdir/var/mysql
sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock

我遇到了这个问题,并通过使用默认的TCP/IP端口而不是套接字端口修复了它

因此,在我的案例中,我使用了8889

$db = mysql_connect("127.0.0.1:8889","root", "");

我遇到了这个问题,并通过使用默认的TCP/IP端口而不是套接字端口修复了它

因此,在我的案例中,我使用了8889

$db = mysql_connect("127.0.0.1:8889","root", "");

有关检查MySQL的tcp连接的一些基本提示,请参阅。感谢您的提示。这是一篇有趣的文章,但问题似乎是另一方面的。请在下面查看我的评论以了解最新信息:)请参阅以获取一些检查MySQL tcp连接的基本提示。谢谢您的提示。这是一篇有趣的文章,但问题似乎是另一方面的。请在下面查看我的评论以了解最新情况:)好的观点!我收到以下错误消息:用户“root”@“localhost”(使用密码:否)的访问被拒绝,因此我进入mysql命令行并从mysql.user键入SELECT Host、user、password;我得到了这张表:(我将跟随另一条评论,因为我在粘贴表时没有字符了)这一点很好!我收到以下错误消息:用户“root”@“localhost”(使用密码:否)的访问被拒绝,因此我进入mysql命令行并从mysql.user键入SELECT Host、user、password;我得到了这张表:(我将跟随另一条评论,因为我在粘贴表时没有字符了)