Today, the Program reported an exception: Java. SQL. sqlexception: Access denied for user 'root' @ 'rjb-Z' (using passwrod ).
String url = "JDBC: mysql: // 192.168.1.169: 3306/test";
The password is correct and can be logged in the command line window. I found out that the root user does not allow remote connection, I found a solution on this website (http://xucons.javaeye.com/blog/278581): Change the table or grant permissions.Http://xucons.javaeye.com/blog/278581
If this error occurs when you connect to MySQL:
SQL code
- Error 1130: Host '192. 168.1.3 'is not allowed to connect to this MySQL Server
Error 1130: Host '192. 168.1.3 'is not allowed to connect to this MySQL Server
Solution:
1. Change the table.
It may be that your account is not allowed to log on remotely, but only on localhost. At this time, you only need to log in to MySQL on the computer of localhost, and change the "host" entry in the "user" table in the "MySQL" database to "%" from "localhost"
Java code
- Mysql-u root-P
- Mysql> use MySQL;
- Mysql> Update user set host = '%' where user = 'root ';
- Mysql> select host, user from user;
mysql -u root -pmysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. Authorization method.
For example, if you want myuser to use mypassword to connect to the MySQL server from any host.
SQL code
- Grant all privileges on *. * To 'myuser' @ '%' identified by 'mypassword' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
If you want to allow myuser to connect to the MySQL server from a host whose IP address is 192.168.1.3, and use mypassword as the password
SQL code
- Grant all privileges on *. * To 'myuser' @ '192. 168.1.3 'identified by 'mypassword' with grant option;