我直接将其从php.net中删除
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";
$mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
echo $mysqli->host_info . "\n";
我的输出是这样的:
通过UNIX套接字的本地主机
我的问题是......当我尝试使用第二种方法时,为什么会收到错误消息。
无法连接到MySQL:(1045)拒绝用户' * '@ 127.0.0.1'(使用密码:是)
答案 0 :(得分:1)
确保在conig文件中注释掉跳过网络。还要查看您的用户表,看看是否允许“用户”从127.0.0.1连接
答案 1 :(得分:0)
转到终端并键入:(以root用户身份登录)
mysql -i -u root
让我们首先在MySQL shell中创建一个新用户(如果你没有(*)用户在127.0.0.1主机上):
CREATE USER '*'@'127.0.0.1' IDENTIFIED BY 'password';
然后你要输入以下内容:(给(*)用户访问数据库的权限)
GRANT ALL PRIVILEGES ON * . * TO '*'@'127.0.0.1';
完成为新用户设置的权限后,请务必重新加载所有权限:
FLUSH PRIVILEGES;
您的更改现在将生效。
如何授予不同的用户权限
以下是用户可以享受的其他常见权限的简短列表。
所有特权 - 正如我们之前看到的,这将允许MySQL用户访问指定的数据库(或者如果在整个系统中没有选择数据库),那么