EVL – ETL Tool

Products, services and company names referenced in this document may be either trademarks or registered trademarks of their respective owners.

Copyright © 2017–2023 EVL Tool, s.r.o.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts.

Table of Contents


(since EVL 2.4)

Write stdin or <f_in> into <table> of MariaDB/MySQL. If the table is not empty, it is truncated unless "–append" option is used.

Password is taken from file ‘$EVL_PASSFILE’, which is by default ‘$HOME/.evlpass’. When such file has not permissions 600 (or 400), it is ignored! For details see ‘evl-password’.


is to be used in EVS job structure definition file. <f_in> is either input file or flow name.

evl writemysql

is intended for standalone usage, i.e. to be invoked from command line and reading records from standard input.

EVD and EVS are EVL definition files, for details see evl-evd(5) and evl-evs(5).


  <f_in> [<schema>.]<table> (<evd>|-d <inline_evd>)
  [-b|--dbname=<database>] [-h|--host=<hostname>] [-p|--port=<port>]
  [-u|--username=<mysqluser>] [--mysql=<mysql-options>] [-x|--text-input]

evl writemysql
  [<schema>.]<table> (<evd>|-d <inline_evd>)
  [-b|--dbname=<database>] [-h|--host=<hostname>] [-p|--port=<port>]
  [-u|--username=<mysqluser>] [--mysql=<mysql-options>] [-x|--text-input]

evl writemysql
  ( --help | --usage | --version )


-d, --data-definition=<inline_evd>

either this option or the file <evd> must be presented. Example: -d ’id int, name string, started timestamp’

-a, --append

target table is appended, not truncated

-x, --text-input

suppose the input as text, not binary

Standard options:


print this help and exit


print short usage information and exit

-v, --verbose

print to stderr info/debug messages of the component


print version and exit

’mysql’ options:

-b, --dbname=<database>

this option is provided to ‘mysql’ command as ‘--database=<database>

-h, --host=<hostname>

this option is provided to ‘mysql’ command

-p, --port=<port>

using other than standard port 3306. This option is provided to ‘mysql’ command.

-u, --username=<mysqluser>

if not mentioned, then current system username is used as mysql user. This option is provided to ‘mysql’ command as ‘--user=<mysqluser>’.


other mysql options can be specified here