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

原文地址:centos 安装nacos

下载安装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 修改mysql中默认账号密码

这时候默认的用户名是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

作者:admin  创建时间:2022-07-04 12:17
最后编辑:lzw  更新时间:2022-08-15 14:30