我正在使用Laravel,我已经配置了.env文件。当我进行迁移并迁移时,它会影响数据库,但是当我尝试从同一个数据库中读取时,我得到了这个异常。谢谢
SQLSTATE [HY000] [1045]拒绝访问用户'宅基地@' localhost' (使用密码:是)(SQL:select * from
table
)
答案 0 :(得分:1)
您必须设置正确的权限:
$ mysql -u root -p
$ <your-password>
$ use mysql
$ GRANT ALL ON *.* to 'homestead'@'localhost' IDENTIFIED BY '<your-password>';
$ FLUSH PRIVILEGES;
答案 1 :(得分:0)
如果是wampserver或xampp的新安装或新升级,则需要将端口包括在连接中,
因为默认的MySQL端口是3306,
但是mariadb默认是默认(3306)端口上的端口,因此,当您尝试连接MySQL时,其重定向到mariadb。
您需要更正端口,它可能是3306或3307或3308并使用 ip而不是localhost。您的最终代码:
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$port = '3308';
$charset = 'utf8mb4';
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
$mysqli = mysqli_connect($host, $user, $pass, $port, $db);
mysqli_set_charset($mysqli, $charset);
} catch (\mysqli_sql_exception $e) {
throw new \mysqli_sql_exception($e->getMessage(), $e->getCode());
}
对于pdo和docker: