2022年7月4日 星期一
Mysql8.0:Could not retrieve transation read-only status server #1280
Unknown system variable ‘tx_read_only’
https://github.com/alibaba/nacos/issues/1280
https://github.com/alibaba/nacos/issues/1280#issuecomment-508822650
下载安装Nacos
输入命令:wget https://github.com/alibaba/nacos/releases/download/1.2.0/nacos-server-1.2.0.tar.gz
或者登录官网下载:
https://github.com/alibaba/nacos/releases
将安装包上传至/usr/local/nacos目录,执行命令tar -zxvf nacos-server-1.2.0.tar.gz
修改配置文件支持mysql
修改nacos/conf/application.properties文件,
增加支持mysql数据源配置(目前只支持mysql),
添加mysql数据源的url、用户名和密码,
代码如下图:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/XXX?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=xxx
db.password=xxx
启动Nacos服务
切换到bin目录,执行命令
sh startup.sh -m standalone关闭Nacos服务
切换到bin目录,执行命令:
sh shutdown.sh访问地址为:http://127.0.0.1:8848/nacos
注意Java版本:
此版本必须安装jdk1.8+版本,不然启动时会报错
默认没有开启用户名和密码登录
需要修改application.properties文件中的nacos.core.auth.enabled=true才能开启用户名密码登录,
用户名/密码:nacos/nacos
这时候默认的用户名是nacos nacos,这要是放到公网上肯定是不安全的,接下来告诉大家怎么修改。
我们新建一个springboot项目,加入一个依赖 spring-boot-starter-security ,只需要这一个就好了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>然后写个类执行以下 new BCryptPasswordEncoder().encode("你的密码")就会生成新的加密过的密码。
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
public class SetPassword {
public static void main(String[] args) {
System.out.println(new BCryptPasswordEncoder().encode("新密码"));
}
}接下来就是复制密码去数据库替换默认的密码。默认用户是nacos 也可以修改,那个是明文的可以直接改,但是如果要修改用户名的话,要修改roles表里用户。
参考资料:
https://www.jianshu.com/p/55091f2ad6e1
https://blog.csdn.net/leaf_dai/article/details/103380851
最后编辑:lzw 更新时间:2022-08-15 14:30