这是我用来连接本地 mysql 数据库的文件。
<?php
$dbhost = '127.0.0.1';
$dbuser = 'richard77';
$dbpass = '************';
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die ('Error connecting to mysql');
$dbname = 'memcache';
mysql_select_db($dbname);
?>
richard77 是我的 Ubuntu 用户名,具有 sudo 权限。上述密码与我使用 sudo 命令时输入的密码相同。
我不断收到相同的错误:连接到 mysql 时出错
。我尝试了几种组合:对于 $dbhost
:127.0.0.1
和 localhost
,对于 $dbuser
: richard77
、richard77--VirtualBox
和 richard77@richard77--VirtualBox
。
我什至不知道我的连接字符串的哪一部分发生了故障。关于从哪里开始有什么建议吗?
最佳答案
正如 Michael 所说,您需要在 MySQL 中有一个自己的用户帐户。您可以使用 MySQL root 帐户(不是系统 root!)创建一个帐户,如下所示:
mysql -u root -p -e "GRANT ALL ON dbname.* TO username@localhost IDENTIFIED BY 'secure_password';"
这将创建用户、设置密码并授予用户对您希望他管理的数据库的所有权限。
注意:编写 dbname.*
和 username@localhost
非常重要。不要只写 dbname
或 username
。
如果您没有 MySQL root 密码,并且您使用的是基于 Debian 的系统(即 Ubuntu),则可以使用 debian-sys-maint
帐户和您找到的密码在/etc/mysql/debian.cnf
中。
mysql -u debian-sys-maint -p -e "GRANT ALL ON dbname.* TO username@localhost IDENTIFIED BY 'secure_password';"
关于php - 从 PHP 连接到 127.0.0.1 处的 MySQL 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964619/