无法使用MAMP或社区服务器连接到mysql服务器
我用MySQL Workbench创建了一个数据库,现在我需要访问它。因此,我编写了一个php脚本来访问它:无法使用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
<?
$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;我得到了这张表:(我将跟随另一条评论,因为我在粘贴表时没有字符了)