java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.14.jar:8.0.14]
...
at org.code2care.jdbctemplate.eg.jdbctemplateeg.JdbctemplateegApplication.main(JdbctemplateegApplication.java:10) ~[classes/:na]
2023-04-13T16:03:45.104+05:30 INFO 73813 --- [main] .s.b.a.l.ConditionEvaluationReportLogger :
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-04-13T16:03:45.122+05:30 ERROR 73813 --- [main] o.s.boot.SpringApplication : Application run failed
java.lang.IllegalStateException: Failed to execute CommandLineRunner
...
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection
...
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.14.jar:8.0.14]
... 22 common frames omitted
Process finished with exit code 1
The access denied for user SQLException indicates that you have problems with the credentials that are being used to connect to the MySQL database.
Solutions/Fix
- Make sure you have set the correct username and password in the applications.properties file of your Spring Boot project.
spring.datasource.username=root spring.datasource.password=strong-password
- Make sure the Database Server is up and running.
% systemctl status mysql
- Check if there is no firewall configuration that is blocking access to port 3306 (default port, you might be using a different one)
- It can be so that you can using MySQL locally and have not set the password at all, in such case you can remove the spring.datasource.password property and try.
Facing issues? Have Questions? Post them here! I am happy to answer!
Author Info:
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
More Posts related to Java,
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
More Posts:
- Elegant CSS Box Shadows Ideas - CSS
- Outlook - The mailbox isn't available. This may have occurred because the license for the mailbox has expired. - Microsoft
- How to change the tab color on Microsoft Excel on Mac - MacOS
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging - Java
- How to create a dictionary comprehension in Python - Python
- Spring 5 IoC Example with application Context XML (ClassPathXmlApplicationContext) and Gradle. - Java
- How to Unzip a file using Python - Python
- How to find the Battery Cycle Count on macOS Ventura - MacOS