ubuntu22.04安装配置启动Nacos2.2.1,连接远程mysql8.0.23数据库,踩坑
在配置过程中出现如下错误:
errMsg: [MapperManager] Failed to find the datasource,dataSource:mysql
原因1:连接不上远程的mysql数据库
#远程mysql数据库赋予远程连接权限
use mysql;
update user set host='%' where user = 'root';
#在ubuntu22.04中连接mysql
sudo apt-get install mysql-client #安装MySQL的客户端
mysql -u username -p -h remote_hostname_or_IP_address #在ubuntu命令行尝试连接远程mysql
原因2:缺少mysql驱动
在nacos安装路径下新建一个plugins文件夹,在maven仓库上找到对应的mysql驱动版本:maven仓库如下:https://mvnrepository.com/artifact/mysql/mysql-connector-java
将对应版本的jar包拷贝到plugins下,并去掉后面的版本号
原因3:配置文件错误
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
### Deprecated configuration property, it is recommended to use `spring.sql.init.platform` replaced.
# spring.datasource.platform=mysql
# spring.sql.init.platform=mysql
配置文件中说了,推荐使用spring.sql.init.platform=mysql
因此,在下方加入如下配置即可:
### 数据平台 就是目前使用的哪种数据库 即mysql oracle等数据库
spring.sql.init.platform=mysql
#### db.num 集群中有几台mysql
db.num=1
### 数据库的url 用户名和密码
db.url.0=jdbc:mysql://192.168.1.105:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
最后单机启动:bash startup.sh -m standalone
访问页面成功:http://localhost:8848/nacos/index.html