MySQLへのレプリケーションで “Loading local data is disabled” エラーとなる場合の対処法


Syniti DR(旧DBMoto)を使用してMySQLへレプリケーションを実施したときに、次のエラーが発生することがあります。

MySql.Data.MySqlClient.MySqlException (0x80004005): Loading local data is disabled; this must be enabled on both the client and server sides

 

これは、MySQLへの初期リフレッシュ(全件転送)時にバルクインサートをするために使用する、MySQL側で用意されているLoad data local infile機能が無効化されていることを指しています。

MySQLのバージョンによっては、このLoad data local infile機能がデフォルトで無効化されていることがあり、MySQLサーバー側で次のクエリを実行することでこの機能を有効化できます。

SET GLOBAL local_infile=on;

 

また、このLoad data local infile機能を使用するためには、MySQLサーバー側だけではなくクエリを発行するクライアント側でも設定が必要な場合があります。

例えば、Syniti DRサーバーにインストールされているMySQLへの接続ドライバ(MySQL Connector/NET)のバージョンが8.0.18の時、デフォルトで機能が無効化されていることがあり、Syniti DRのコンソールから次のパラメータを追加する必要があります。

allowLoadLocalInfile= true;

 

設定箇所は次の通りです。

  1. ターゲットのMySQL接続を右クリックし、プロパティをクリック

 

  1. 接続という項目の右端に存在するボタンをクリックして、ドライバのプロパティを表示

 

  1. 一番下の拡張プロパティにて、 “allowLoadLocalInfile= true;” と入力、OKで画面を閉じる

関連したトピックス

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください