寫入數據庫的方式是:
df2.write.mode(SaveMode.Append).jdbc(url,"student",properties)
impossible to write to binary log since BINLOG_FORMAT = STATEMENT
這是因爲,mysql默認的binlog_format是STATEMENT。
從 MySQL 5.1.12 開始,可以用以下三種模式來實現:基於SQL語句的複製(statement-based replication, SBR),基於行的複製(row-based replication, RBR),混合模式複製(mixed-based replication, MBR)。相應地,binlog的格式也有三種:STATEMENT,ROW,MIXED。
如果你採用默認隔離級別REPEATABLE-READ,那麼建議binlog_format=ROW。如果你是READ-COMMITTED隔離級別,binlog_format=MIXED和binlog_format=ROW效果是一樣的,binlog記錄的格式都是ROW,對主從複製來說是很安全的參數。
方法一
mysql> STOP SLAVE;
Query OK, 0 rows affected (0.02 sec)
mysql> SET GLOBAL binlog_format=ROW;
Query OK, 0 rows affected (0.00 sec)
mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec)
但是這樣只是一次性的,重啓後失效。
永久生效,需要修改my.ini
# binary logging format - ROW
binlog_format=ROW
修改後,記得右擊我的電腦-》管理-》服務和應用程序-》mysql 把服務停掉再重啓