MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
        Passwords can be written as plain text in SQL statements such as
        CREATE USER,
        GRANT, SET
        PASSWORD, and statements that invoke the
        PASSWORD() function. If such
        statements are logged by the MySQL server as written, passwords
        in them become visible to anyone with access to the logs.
      
Statement logging avoids writing passwords as cleartext for the following statements:
CREATE USER ... IDENTIFIED BY ... ALTER USER ... IDENTIFIED BY ... GRANT ... IDENTIFIED BY ... SET PASSWORD ... SLAVE START ... PASSWORD = ... CREATE SERVER ... OPTIONS(... PASSWORD ...) ALTER SERVER ... OPTIONS(... PASSWORD ...)
        Passwords in those statements are rewritten to not appear
        literally in statement text written to the general query log,
        slow query log, and binary log. Rewriting does not apply to
        other statements. In particular,
        INSERT or
        UPDATE statements for the
        mysql.user system table that refer to literal
        passwords are logged as is, so you should avoid such statements.
        (Direct modification of grant tables is discouraged, anyway.)
      
        For the general query log, password rewriting can be suppressed
        by starting the server with the
        --log-raw option. For security
        reasons, this option is not recommended for production use. For
        diagnostic purposes, it may be useful to see the exact text of
        statements as received by the server.
      
Contents of the audit log file produced by the audit log plugin are not encrypted. For security reasons, this file should be written to a directory accessible only to the MySQL server and users with a legitimate reason to view the log. See Section 6.4.5.3, “MySQL Enterprise Audit Security Considerations”.
        Statements received by the server may be rewritten if a query
        rewrite plugin is installed (see
        Query Rewrite Plugins). In this case, the
        --log-raw option affects
        statement logging as follows:
      
        An implication of password rewriting is that statements that
        cannot be parsed (due, for example, to syntax errors) are not
        written to the general query log because they cannot be known to
        be password free. Use cases that require logging of all
        statements including those with errors should use the
        --log-raw option, bearing in mind
        that this also bypasses password rewriting.
      
Password rewriting occurs only when plain text passwords are expected. For statements with syntax that expect a password hash value, no rewriting occurs. If a plain text password is supplied erroneously for such syntax, the password is logged as given, without rewriting. For example, the following statement is logged as shown because a password hash value is expected:
CREATE USER 'user1'@'localhost' IDENTIFIED BY PASSWORD 'not-so-secret';
        To guard log files against unwarranted exposure, locate them in
        a directory that restricts access to the server and the database
        administrator. If the server logs to tables in the
        mysql database, grant access to those tables
        only to the database administrator.
      
        Replicas store the password for the replication source in the
        source info repository, which can be either a file or a table
        (see Section 16.2.4, “Relay Log and Replication Metadata Repositories”). Ensure that the repository
        can be accessed only by the database administrator. An
        alternative to storing the password in a file is to use the
        START SLAVE statement to specify
        credentials for connecting to the source.
      
Use a restricted access mode to protect database backups that include log tables or log files containing passwords.