···202202 <command>gpgv</command>, etc.
203203 </para>
204204 </listitem>
205205+206206+ <listitem>
207207+ <para>
208208+ <literal>services.mysql</literal> now has declarative
209209+ configuration of databases and users with the <literal>ensureDatabases</literal> and
210210+ <literal>ensureUsers</literal> options.
211211+ </para>
212212+213213+ <para>
214214+ These options will never delete existing databases and users,
215215+ especially not when the value of the options are changed.
216216+ </para>
217217+218218+ <para>
219219+ The MySQL users will be identified using
220220+ <link xlink:href="https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/">
221221+ Unix socket authentication</link>. This authenticates the
222222+ Unix user with the same name only, and that without the need
223223+ for a password.
224224+ </para>
225225+226226+ <para>
227227+ If you have previously created a MySQL <literal>root</literal>
228228+ user <emphasis>with a password</emphasis>, you will need to add
229229+ <literal>root</literal> user for unix socket authentication
230230+ before using the new options. This can be done by running the
231231+ following SQL script:
232232+233233+<programlisting language="sql">
234234+CREATE USER 'root'@'%' IDENTIFIED BY '';
235235+GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
236236+FLUSH PRIVILEGES;
237237+238238+-- Optionally, delete the password-authenticated user:
239239+-- DROP USER 'root'@'localhost';
240240+</programlisting>
241241+242242+ </para>
243243+ </listitem>
205244</itemizedlist>
206245207246<para>Other notable improvements:</para>