>> Can we count on this ? Sure I looked all over the internet to configure mysql to overcome the warning message. There is a lot more work required then I have mentioned so far.
http://www.frontbutton.com/ ¯\_(ツ)_/¯ ♡۶♡ ۶♡۶ <http://www.backbutton.co.uk> On Sat, 23 Dec 2023 at 00:28, Jarek Potiuk <ja...@potiuk.com> wrote: > > *What about* variable sql_engine_collation_for_ids=utf8mb3_bin > mentioned next on same page > > > https://airflow.apache.org/docs/apache-airflow/2.8.0/howto/set-up-database.html#setting-up-a-mysql-database > > should I set that in /etc/mysql/my.cnf also ? > > > In the airflow.cfg the default setting is sql_engine_encoding = utf-8 > > Should I change from sql_engine_encoding = utf-8 in airflow,cfg to > sql_engine_encoding = utf8mb4 in airflow.cfg if I am changing > sql_engine_collation_for_ids=utf8mb3_bin in /etc/mysql/my.cnf * ?* > > No - those are "airflow" configuration settings, not MySQL driver > settings. The former are described in > https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html, > the latter - in the driver documentation (when you pass the URL to > sqlalchemy, you actually select the driver to use, and this driver > parameters (`mysql+mysqldb`) has its own parameters - those are configured > in a way that is specific for the driver (so my.cnf in your case). For > example in case of mysql +mysqldb - you can start from this page - which > describes mysql dialects of sqlalchemy > https://docs.sqlalchemy.org/en/20/dialects/mysql.html > > > > Perhaps you may wish to update the page. > > Absolutely Zahid. And I have a kind request after you got all the > explanations - you are absolutely welcome to propose a PR. Can I ask you to > help with it please? > > When you look at the page with documentation - you can see "Suggest a > change on this page" at the bottom right. If you click it, a PR will be > opened for you and you will be able to modify the sources of the page in > the way you think is best for people like you to better understand. You are > probably one of the best people now to update the docs as you struggled > with it and got confused and then got helped. So giving back to the > community (like 2700+ other contributors) by making the documentation > clearer is a great idea. > > It would be fantastic if a person like you phrases it in a way that will > be easier to digest for people like you. > > Can we count on this ? > > J. > > On Fri, Dec 22, 2023 at 5:36 PM Zahid Rahman <zahidr1...@gmail.com> wrote: > >> >> Thanks, I have updated my.cnf >> $ cat /etc/mysql/my.cnf >> # >> # The MySQL database server configuration file. >> # >> # You can copy this to one of: >> # - "/etc/mysql/my.cnf" to set global options, >> # - "~/.my.cnf" to set user-specific options. >> # >> # One can use all long options that the program supports. >> # Run program with --help to get a list of available options and with >> # --print-defaults to see which it would actually understand and use. >> # >> # For explanations see >> # http://dev.mysql.com/doc/mysql/en/server-system-variables.html >> >> # >> # * IMPORTANT: Additional settings that can override those from this >> file! >> # The files must end with '.cnf', otherwise they'll be ignored. >> # >> >> !includedir /etc/mysql/conf.d/ >> !includedir /etc/mysql/mysql.conf.d/ >> explicit_defaults_for_timestamp=1 >> --------------------------EOF my.cnf -------------------- >> >> When I said it worked I meant the two warning messages disappeared when >> you first start >> airflow with commands >> $ airflow standalone >> by making these two changes in airflow.cfg >> *from * >> executor = SequentialExecutor >> >> *to*executor = LocalExecutor >> *&* >> *from* >> sql_alchemy_conn = sqlite:////home/zahid/airflow/airflow.db >> *to* >> sql_alchemy_conn = mysql+mysqldb://airflow_user:airflow_pass@localhost >> :3306/airflow_db >> >> >> *What about* variable sql_engine_collation_for_ids=utf8mb3_bin >> mentioned next on same page >> >> https://airflow.apache.org/docs/apache-airflow/2.8.0/howto/set-up-database.html#setting-up-a-mysql-database >> should I set that in /etc/mysql/my.cnf also ? >> >> In the airflow.cfg the default setting is sql_engine_encoding = utf-8 >> Should I change from sql_engine_encoding = utf-8 in airflow,cfg to >> sql_engine_encoding = utf8mb4 in airflow.cfg if I am changing >> sql_engine_collation_for_ids=utf8mb3_bin in /etc/mysql/my.cnf * ?* >> >> >> Regards >> Zahid >> >> http://www.frontbutton.com/ >> ¯\_(ツ)_/¯ >> ♡۶♡ ۶♡۶ >> >> <http://www.backbutton.co.uk> >> >> >> On Fri, 22 Dec 2023 at 19:33, Lars Winderling <lars.winderl...@posteo.de> >> wrote: >> >>> Hi Zahid, >>> >>> the additional MySQL config for the timestamps should go into a config >>> file for MySQL. By default, it is called my.cnf. But you can pass it as a >>> cli option, when starting the mysql daemon (as cited in your message). As >>> an option to the mysql daemon mysqld, it defines the behavior of only the >>> mysql daemon, so you cannot set it on client side. The airflow.cfg is the >>> wrong place. It might work, but maybe in the long run not as expected due >>> to quirks with MySQL not following the SQL standard very closely. >>> Best, Lars >>> >>> >>> On 22 December 2023 15:07:07 CET, Zahid Rahman <zahidr1...@gmail.com> >>> wrote: >>> >>>> Hi, >>>> >>>> It was unclear from this page >>>> >>>> https://airflow.apache.org/docs/apache-airflow/2.8.0/howto/set-up-database.html#setting-up-a-mysql-database >>>> which is a link from the airflow home when airflow first started. >>>> that I need to update the *airflow.cfg* to configure the mysql >>>> database like so. >>>> >>>> # sql_alchemy_conn = sqlite:////home/zahid/airflow/airflow.db >>>> sql_alchemy_conn = mysql+mysqldb://airflow_user:airflow_pass@localhost >>>> :3306/airflow_db >>>> >>>> Perhaps you may wish to update the page. >>>> >>>> ALSO >>>> I did not make any change to file "my.cnf" nor do I have one that I >>>> found in the ~/airflow as described below. >>>> >>>> "We rely on more strict ANSI SQL settings for MySQL in order to have >>>> sane defaults. Make sure to have specified >>>> explicit_defaults_for_timestamp=1 option under [mysqld] section in >>>> your my.cnf file. You can also activate these options with the >>>> --explicit-defaults-for-timestamp switch passed to mysqld executable" >>>> >>>> This instruction did confuse me a bit at first until I took the guess >>>> to make change in the airflow.cfg and *it worked!* >>>> >>>> Regards >>>> Zahid >>>> >>>> http://www.frontbutton.com/ >>>> ¯\_(ツ)_/¯ >>>> ♡۶♡ ۶♡۶ >>>> >>>> <http://www.backbutton.co.uk> >>>> >>>