diff --git a/README.md b/README.md index 8729ae5..985629e 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,8 @@ sslca|path to ca cert(default: nil) sslcapath|path to ca certs(default: nil) sslcipher|ssl cipher(default: nil) sslverify|verify server certificate(default: nil) +encoding|encoding(default: nil) +collation|collation(default: nil) column_names|bulk insert column (require) key_names|value key names, ${time} is placeholder Time.at(time).strftime("%Y-%m-%d %H:%M:%S") (default : column_names) json_key_names|Key names which store data as json, comma separator. @@ -41,6 +43,8 @@ on_duplicate_update_keys|on duplicate key update column, comma separator database test_app_development username root password hogehoge + encoding utf8mb4 + collation utf8mb4_unicode_ci column_names id,user_name,created_at,updated_at table users flush_interval 10s diff --git a/lib/fluent/plugin/out_mysql.rb b/lib/fluent/plugin/out_mysql.rb index 6fdb12a..4ce84df 100644 --- a/lib/fluent/plugin/out_mysql.rb +++ b/lib/fluent/plugin/out_mysql.rb @@ -15,6 +15,8 @@ class Fluent::MysqlOutput < Fluent::BufferedOutput config_param :sslcapath, :string, :default => nil config_param :sslcipher, :string, :default => nil config_param :sslverify, :bool, :default => nil + config_param :encoding, :string, :default => nil + config_param :collation, :string, :default => nil config_param :key_names, :string, :default => nil # nil allowed for json format config_param :sql, :string, :default => nil @@ -112,6 +114,8 @@ def client :sslcapath => @sslcapath, :sslcipher => @sslcipher, :sslverify => @sslverify, + :encoding => @encoding, + :collation => @collation, :flags => Mysql2::Client::MULTI_STATEMENTS, }) end diff --git a/lib/fluent/plugin/out_mysql_bulk.rb b/lib/fluent/plugin/out_mysql_bulk.rb index 78bc3b3..147d002 100644 --- a/lib/fluent/plugin/out_mysql_bulk.rb +++ b/lib/fluent/plugin/out_mysql_bulk.rb @@ -28,6 +28,10 @@ class MysqlBulkOutput < Output desc: "SSL cipher." config_param :sslverify, :bool, default: nil, desc: "SSL Verify Server Certificate." + config_param :encoding, :string, default: nil, + desc: "Connection encoding." + config_param :collation, :string, default: nil, + desc: "Connection collation." config_param :column_names, :string, desc: "Bulk insert column." @@ -142,6 +146,8 @@ def client(database) sslcapath: @sslcapath, sslcipher: @sslcipher, sslverify: @sslverify, + encoding: @encoding, + collation: @collation, flags: Mysql2::Client::MULTI_STATEMENTS ) end