首页 > 数据库 >nacos开机自启无法连接上本机的Mysql

nacos开机自启无法连接上本机的Mysql

时间:2023-10-12 14:12:22浏览次数:26  
标签:bin JAVA java admin nacos 上本机 Mysql HOME

  nacos和mysql处于同一台服务器的情况下才会遇到我说的这个问题。

一、遇到的问题如下:nacos在设置了开机自启动脚本/usr/lib/systemd/system/nacos.service,并且设置了systemctl enable nacos。mysql给nacos使用的用户开启了%和localhost均可连接的权限。这种情况下,nacos开机自启无法连接上Mysql,必须手动结束再开启。

  开机自启动脚本如下(注意:启动脚本中不要存在注释,我加了注释报错,原因未知):

[Unit]
Description=nacos  #
After=network.target  #设置在联网后启动,但网络不一定联通,如果要联通的网络再启动,那么使用network-online.target
After=mysqld.service  #设置在mysqld.service之后启动

[Service]
Type=forking
TimeoutSec=0  #防止连接超时
User=admin  #以什么角色启动
Group=admin  #以什么组启动

ExecStart=/bin/bash /home/admin/nacos/bin/startup.sh -m standalone  #因为我试单机节点启动,所以写全命令
ExecReload=/home/admin/nacos/bin/shutdown.sh  #重启脚本地址
ExecStop=/home/admin/nacos/bin/shutdown.sh  #停止脚本地址
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  nacos/bin/startup.sh脚本修改(注意:这里需要直接指定JAVA_HOME,否则systemctl start nacos会报错):

# [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=$HOME/jdk/java
# [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/usr/java
# [ ! -e "$JAVA_HOME/bin/java" ] && JAVA_HOME=/opt/taobao/java
# [ ! -e "$JAVA_HOME/bin/java" ] && unset JAVA_HOME
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301

二、解决办法:nacos的JDBC配置需要增加一个“&allowPublicKeyRetrieval=true”,允许在 SSL 连接情况下获取公钥。

  nacos/conf/application.properties配置文件修改

db.url.0=jdbc:mysql://[IP地址,不要用127.0.0.1]:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false
&serverTimezone=UTC&allowPublicKeyRetrieval=true

三、类似的问题出现在两个docker容器可以查看:https://blog.csdn.net/ElendaLee/article/details/131102400

标签:bin,JAVA,java,admin,nacos,上本机,Mysql,HOME
From: https://www.cnblogs.com/diantong/p/17759342.html

相关文章

  • 记一次MySQL数据库恢复
    1、恢复步骤概要备份frm、ibd文件如果mysql版本发生变化,安装回原本的mysql版本创建和原本库名一致新库,字符集都要保持一样通过frm获取到原先的表结构,通过的得到的表结构创建一个和原先结构一样的空表。使用“ALTERTABLEDISCARDTABLESPACE;”命令卸载掉表空间将原先的ibd拷贝到my......
  • 面试官:MySQL数据查询太多会OOM吗
    我的主机内存只有100G,现在要全表扫描一个200G大表,会不会把DB主机的内存用光?逻辑备份时,可不就是做整库扫描吗?若这样就会把内存吃光,逻辑备份不是早就挂了?所以大表全表扫描,看起来应该没问题。这是为啥呢?1、全表扫描对server层的影响假设,我们现在要对一个200G的InnoDB表db1.t,执行一个......
  • 专治 MySQL 乱码, 再也不想看到�了
    1、MySQL编码过程MySQL出现乱码的原因有很多,一般与character_set参数有关。我们先来看看有哪些参数:SHOWVARIABLESLIKE"character%";Variable_nameValuecharacter_set_clientutf8character_set_connectionutf8character_set_databaseutf8character_set_filesystembinar......
  • MySQL 定时备份数据库
    在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库。本篇文章主要讲述了几种方法进行MySQL定时备份数据库。1、mysqldump命令备份数据在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据......
  • 基于 MySQL 和 DynamoDB 的强一致性分布式事务实践
    在单体应用向微服务架构转型的过程中,本地事务已不再满足系统一致性需求,为了解决这一问题,前人在对性能和数据一致性反复权衡的过程中总结了许多典型的协议和算法,各有优劣。本文我们将深入探讨Freewheel如何实现无单点故障的可扩展分布式事务实现模型。1、为什么需要分布式事务?当应......
  • 技术分享| 二进制部署MySQL
    一、介绍​MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。​MySQL是一种关系型数据......
  • 技术分享| 二进制部署MySQL
    一、介绍​MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。​MySQL是一种关系型数据......
  • mysql复制数据库,数据库排序规则不一致问题
    mysql复制数据库步骤1.导出数据库sql文件mysqldump数据库名-h数据库地址-P数据库端口(3306可省略)-u账号-p密码--add-drop-table>/路径/sql文件名.sql 2.确认导出和导入数据库编码和排序规则是否一致showglobalvariableslike'%coll%'showglobalvariabl......
  • 2023_10_12_MYSQL_DAY_04_笔记
    2023_10_12_MYSQL_DAY_04_笔记14章课后作业CREATETABLExi(xidINTPRIMARYKEYAUTO_INCREMENT,xnameVARCHAR(10)UNIQUE,xheadVARCHAR(10)NOTNULL,xlocVARCHAR(30)DEFAULT'浑南区');CREATETABLEclass02(cnoINTPRIMARYKEY......
  • 对于ogg19 mysql 中如果mysql中存在json数据类型,进程会abend问题报错信息 OGG-00774
    对于ogg19mysql是不支持json的这个数据类型还是比较常见的,这个数据类型是在ogg21才开始支持,对于这种报错可以打补丁进行修复Bug29998662:MySQLExtractAbendsWithoutErrorwithJSONdatatypesinbinlog 参考自:MySQLExtractAbendsWithoutErrorWithJSONDataT......