在Linux系统中,使用java登录mysql的时候出现Access denied for user 'root'@'localhost'的异常。但是在命令行中使用mysql -u root -p 命令可以正常登录使用。
报错日志如下:
在网上找了很多相关的说明,都是说的 使用命令行登录的时候 预见的这个问题如何解决,与我的这个情况不太一样。
经过一番摸索与思考,最终发现问题所在,原因是自己在安装mariadb的时候,并没有输入任何密码信息所致。
解决办法:
grant <权限> on <数据库>.<数据表/字段> to '<用户名>'@'<主机>' identified by '<密码>';
具体命令如下:
1.show databases;
create user test1;
grant all privileges on test.* to 'root'@'localhost' identified by '123456';
最后成功。