DataX问题集锦

  • MySql中读数据时报错:Unable to load authentication plugin 'caching_sha2_password'.

原因:MySql的加密规则导致的,解决方法参考

#解决办法,进入数据库,执行如下语句修改加密规则为永久访问
>mysql ALTER USER 'root'@'%' IDENTIFIED BY '******' PASSWORD EXPIRE NEVER; 

>mysql ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '******';

>mysql FLUSH PRIVILEGES;

>mysql alter user 'root'@'%' identified by '******';
  • MySql中写入数据时报错:Could not retrieve transation read-only status server

原因:数据库版本和驱动版本不一致
解决方法:
查看datax插件中的mysql驱动版本是否和自己安装的mysql版本一致
cd到datax目录下:然后查看datax/plugin/writer/mysqlwriter/libs/下面的插件版本,如下图

image.png

如上图所示,驱动版本为5.1.34,而我mysql的版本是8.0.16,所以下载对应的mysql驱动,我这里下载8.0.19解压,然后将jar包移至lib目录下,并删除旧版本驱动:


image.png

至此,问题解决,如果上述还不能解决问题,需要查看一下数据库隔离级别,方式如下:

#进入数据库,查看隔离级别
>mysql SHOW VARIABLES LIKE '%iso%';
+-----------------------+----------------+
| Variable_name         | Value          |
+-----------------------+----------------+
| transaction_isolation | READ-COMMITTED |
+-----------------------+----------------+
#如果结果不是 "READ-COMMITTED"则需要修改隔离级别
>mysql set transaction_isolation='READ-COMMITTED';

你可能感兴趣的:(DataX问题集锦)