-
從
MySql
中讀數(shù)據(jù)時(shí)報(bào)錯(cuò):Unable to load authentication plugin 'caching_sha2_password'.
原因:MySql
的加密規(guī)則導(dǎo)致的,解決方法參考
#解決辦法,進(jìn)入數(shù)據(jù)庫,執(zhí)行如下語句修改加密規(guī)則為永久訪問
>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
中寫入數(shù)據(jù)時(shí)報(bào)錯(cuò):Could not retrieve transation read-only status server
原因:數(shù)據(jù)庫版本和驅(qū)動(dòng)版本不一致
解決方法:
查看datax插件中的mysql驅(qū)動(dòng)版本是否和自己安裝的mysql版本一致
cd到datax目錄下:然后查看datax/plugin/writer/mysqlwriter/libs/
下面的插件版本,如下圖
image.png
如上圖所示洒敏,驅(qū)動(dòng)版本為5.1.34,而我mysql的版本是8.0.16,所以下載對(duì)應(yīng)的mysql驅(qū)動(dòng)前酿,我這里下載8.0.19解壓,然后將jar包移至lib目錄下,并刪除舊版本驅(qū)動(dòng):
image.png
至此鹏溯,問題解決罢维,如果上述還不能解決問題,需要查看一下數(shù)據(jù)庫隔離級(jí)別丙挽,方式如下:
#進(jìn)入數(shù)據(jù)庫肺孵,查看隔離級(jí)別
>mysql SHOW VARIABLES LIKE '%iso%';
+-----------------------+----------------+
| Variable_name | Value |
+-----------------------+----------------+
| transaction_isolation | READ-COMMITTED |
+-----------------------+----------------+
#如果結(jié)果不是 "READ-COMMITTED"則需要修改隔離級(jí)別
>mysql set transaction_isolation='READ-COMMITTED';