因项目原因,需要给Nacos 1.4.1配置一个MySQL数据库。我的Nacos配置在Docker中,于是进入到Docker容器中,我的Nacos容器名称叫nacos
docker exec -it nacos bash
进入容器之后,再进入到配置文件所在目录conf
cd conf
修改配置文件application.properties
vi ./application.properties
修改配置文件,修改如下位置:(这个是一个错误示范,看看长个记性)
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}db.user=${MYSQL_SERVICE_USER}db.password=${MYSQL_SERVICE_PASSWORD}
我的MySQL容器的地址是
172.17.0.2
查看docker容器ip地址的方法,看我另外一个帖子。账号密码都是root,修改成以下内容
db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:172.17.0.2}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos_config}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}db.user=${MYSQL_SERVICE_USER:root}db.password=${MYSQL_SERVICE_PASSWORD:root}
按 wq 保存。然后exit退出容器。然后重启nacos容器
docker restart nacos
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:””}
修改一下这行.(这个是一个错误示范,看看长个记性)
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:”mysql”}
保存退出。重启容器之后,依旧无法连接数据库。裂开。。。。
后面发现,这个值后面的mysql是不需要加双引号的。。。修改成mysql
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:mysql}
保存退出。重启容器,顺利连接上数据库。最后附上完整and正确的配置修改。
修改前
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:””}db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}db.user=${MYSQL_SERVICE_USER}db.password=${MYSQL_SERVICE_PASSWORD}
修改后
spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:mysql}db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST:172.17.0.2}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME:nacos_config}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true}db.user=${MYSQL_SERVICE_USER:root}db.password=${MYSQL_SERVICE_PASSWORD:root}