php - 从 PHP 连接到 127.0.0.1 处的 MySQL 时出错

标签 php mysql ubuntu

这是我用来连接本地 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.1localhost,对于 $dbuser: richard77richard77--VirtualBoxrichard77@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 非常重要。不要只写 dbnameusername

如果您没有 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/

相关文章:

javascript - PHP 表单验证与 ajax

php - 如何在 PHP 中取消设置 cookie?

php - 如何将 JSON_INSERT 与字符串中的键一起使用?

ubuntu - 每秒更改 VLC 流的帧数

ubuntu - 将本地 URL 重定向到另一个 URL

php - 使用 soundex() 或 metaphone() 创建 Mad Gab 风格短语的算法

javascript - 我应该为不同的设备单独制作 "responding script"吗?

php - Yosemite 升级后本地 WordPress 环境中的 "Error establishing a database connection"

mysql - "Incorrect information in file"对于mysql中的一些表

ubuntu - 无法在 Ubuntu 中打开tilestache url