• Kristian Nielsen's avatar
    mysql_install_db enhancements to facilitate Debian bug#848616 fix · 736afe86
    Kristian Nielsen authored
    In Debian, the default install is made more secure by omitting the anonymous
    user and by making the root account authenticate by unix socket
    authentication instead of the default password-less root. However, Debian
    hard-codes this change in mysql_install_db, which breaks that program for
    other users.
    
    This commit instead implements new general options for mysql_install_db that
    can be used by anyone to similarly perform a more secure install:
    
      --skip-auth-anonymous-user: omits the anonymous user.
    
      --auth-root-authentication-method=normal: Keeps the existing behaviour
        with a password-less root account. Currently on by default.
    
      --auth-root-socket-user=USER
      --auth-root-authentication-method=socket: creates the MariaDB root user
        with the name USER (defaults to 'root') and using unix socket
        authentication. This way, only that user has MariaDB root access
        after install.
    
    The idea with --auth-root-authentication-method=normal is that
    applications that need this behaviour can give that option explicitly.
    Then eventually we could make --auth-root-authentication-method=socket
    the default, giving a more secure default installation.
    
    Note that it is perfectly possible to do a secure install with
    --auth-root-authentication-method=normal. For example, installing a
    private server just for local access by a single OS-level user, by
    using --skip-networking and putting the connection socket in a
    location without public access. So it is important to preserve this
    API for backwards compatibility.
    736afe86
mysql_system_tables_data.sql 4.23 KB