前言
今天在linux中配置数据的时候,已经都配置好了,创建用户,配置用户权限,已经访问权限。都配置好了,但是使用外部工具连接的时候出现这个错误
1045 -Access denied for user ‘XXX’@‘XXX’(using password: YES)
今天就来分享一下该如何解决这个错误,我使用的是mysql8的版本
开干
首先看到这个错误的时候我们肯定会想到,是不是配置用户权限没有成功
我们首先先去查看一下配置的用户权限有哪些
use mysql;
select host, user from user;
重点:mysql8版本分配权限不能带密码。
其实用户的所有权限在mysql中都是以表的形式存在
我们还可以使用 show grants;--来查看钱钱用户的权限 grant all privileges on *.* to root@'%'--所以我们应该这样去写
如果到了这里发现都没有配置错误的话,我们去连接还是有问题,我们就需要去配置一下mysql的配置文件了
直接上答案 /etc/my.cnf 的配置全文
[mysqld]
--最主要的在这里
sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
-- 后面这个看自己的挂在在服务器的那个地方,自己具体配置
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置好了之后重启服务,这样我们大部分遇到的问题都可以使用上面方法解决!!!大家可以仔细看一下这个思路