1、问题描述?
首先确定自己的IP地址、用户名、密码都是没有问题的,但是项目启动报错:
Could not create connection to database server. Attempted reconnect 3 times. Giving up.(无法创建与数据库服务器的连接。尝试重新连接3次。放弃。)
message from server: "Host 'WIN-CMI2EUA00' is not allowed to connect to this MySQL server"(来自服务器的消息:“不允许主机'WIN-CRMI2EPUA00'连接到此MySQL服务器”)
数据库配置:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.25.67:3306/databasename?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&autoReconnect=true&serverTimezone=GMT%2b8
username: root
password: 123456
2、问题解决办法?
2.1、常见原因一
如果你连接的是远程数据库,首先确保你与主机之间的网络是互通的,可以通过ipconfig查看你的ip地址后通过ping命令查看网络是否相同。
如果不通,解决网络相通问题,此处不做解释。
2.2、常见原因二
mysql数据库默认情况下是不允许进行远程连接的
你的数据库安装之后,没有设置允许远程连接,这个时候通过localhost连接应该没有问题,如果通过如:192.168.12.67ip地址访问的时候,会被数据库服务拒绝。
通过如下方式设置数据库允许远程连接:
【1、允许特定的ip连接】
CREATE USER 'username'@'特定IP地址' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'特定IP地址' WITH GRANT OPTION;
FLUSH PRIVILEGES;
【2、允许任意IP地址访问】
一般测试或者内网中都可以采用这种方式,比较的直观简单。
root是数据库用户名
*.*表示通配符,允许所有IP地址通过正确的用户名和密码访问数据库
123456是数据库密码
GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;