Ubuntu下使用mysqli-connect连接mysql时报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost'...

LNMP安装好后,写了个index.php文件,里面的内容很简单,就是想测试php与mysql的通信是否正常,代码如下:

<?php
$host = 'localhost';
$user = 'root';
$pass = '';
$conn = mysqli_connect($host, $user, $pass);
print_r($conn);

然后,就报错:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

查找网上的所有方法,几乎都试了个遍,其中包括,修改root用户密码,给root所有权限等等,不过我没有尝试重新创建新用户。

以上方法尝试后都不行。于是,接着搜索问题,碰运气看看有没有人遇到并解决之。

中文的搜不到,于是尝试看看英文,于是看到下面这篇:https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost

由此可见,原因是最近的Ubuntu安装(也许还有其他的),mysql默认使用UNIX auth_socket插件。

有兴趣的可以进一步做了解。

转载于:https://www.cnblogs.com/totian/p/8465935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值