问题描述:在使用Datax插件将数据从hive导入mysql时,发现写入MySQL报错 :Could not retrieve transation read-only status server
查找解决方案时,发现有以下解决方案:
1、修改 数据库的隔离级别,将 REPEATABLE-READ
修改为READ-COMMITED, ----不适用,
查看数据库的隔离级别,发现不需修改
mysql> SHOW VARIABLES LIKE '%iso%';
+-----------------------+-----------------+
| Variable_name | Value |
+-----------------------+-----------------+
| transaction_isolation | READ-COMMITTED |
+-----------------------+-----------------+
2、匹配数据库和应用中数据库驱动版本(mysql驱动版本不一致) ----
-查看MySQL版本:
mysql> select version();
+------------+
| VERSION() |
+------------+
| 8.0.16 |
+------------+
-查看Datax插件MySQL驱动版本:
root@datax:~/datax/plugin/writer/mysqlwriter/libs$ ls mysql-connector*
mysql-connector-java-5.1.34.jar
下载对应的MySQL驱动版本:https://static.runoob.com/download/mysql-connector-java-8.0.16.jar
解决!