这是我用来连接本地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命令时输入的密码相同。
我一直收到同样的错误:Error connecting to mysql
。我尝试了几种组合:对于$dbhost
:127.0.0.1
和localhost
,对于$dbuser
:richard77
、richard77--VirtualBox
和richard77@richard77--VirtualBox
。
我甚至不知道我的连接字符串的哪一部分出现了故障。关于从哪里开始有什么建议吗?
正如Michael所说,您需要在MySQL中拥有自己的用户帐户。您可以使用MySQL根帐户(不是系统根!)创建一个,如下所示:
mysql -u root -p -e "GRANT ALL ON dbname.* TO username@localhost IDENTIFIED BY 'secure_password';"
这将创建用户,设置密码,并授予用户对您希望他管理的数据库的所有权限。
注意:编写dbname.*
和username@localhost
非常重要。不要只写dbname
或username
。
如果你没有MySQL根密码,并且你在一个基于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';"