Documentation Home
MySQL 5.7 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 38.4Mb
PDF (A4) - 38.4Mb
PDF (RPM) - 37.8Mb
HTML Download (TGZ) - 10.3Mb
HTML Download (Zip) - 10.3Mb
HTML Download (RPM) - 9.0Mb
Man Pages (TGZ) - 197.6Kb
Man Pages (Zip) - 306.1Kb
Info (Gzip) - 3.5Mb
Info (Zip) - 3.5Mb
Excerpts from this Manual

MySQL 5.7 Reference Manual  /  ...  /  mysql_secure_installation — Improve MySQL Installation Security

4.4.4 mysql_secure_installation — Improve MySQL Installation Security

This program enables you to improve the security of your MySQL installation in the following ways:

  • You can set a password for root accounts.

  • You can remove root accounts that are accessible from outside the local host.

  • You can remove anonymous-user accounts.

  • You can remove the test database (which by default can be accessed by all users, even anonymous users), and privileges that permit anyone to access databases with names that start with test_.

mysql_secure_installation helps you implement security recommendations similar to those described at Section 2.10.4, “Securing the Initial MySQL Accounts”.

As of MySQL 5.7.2, mysql_secure_installation is an executable binary available on all platforms. Before 5.7.2, it was a script available for Unix and Unix-like systems.

Normal usage is to connect to the local MySQL server; invoke mysql_secure_installation without arguments:

shell> mysql_secure_installation

When executed, mysql_secure_installation prompts you to determine which actions to perform.

As of MySQL 5.7.2, mysql_secure_installation supports these additional features:

  • The validate_password plugin can be used for password strength checking. If the plugin is not installed, mysql_secure_installation prompts the user whether to install it. Any passwords entered later are checked using the plugin if it is enabled.

  • Most of the usual MySQL client options such as --host and --port can be used on the command line and in option files. For example, to connect to the local server over IPv6 using port 3307, use this command:

    shell> mysql_secure_installation --host=::1 --port=3307

mysql_secure_installation supports the following options, which can be specified on the command line or in the [mysql_secure_installation] and [client] groups of an option file. For information about option files used by MySQL programs, see Section 4.2.6, “Using Option Files”.

Table 4.7 mysql_secure_installation Options

--defaults-extra-fileRead named option file in addition to usual option files5.7.2
--defaults-fileRead only named option file5.7.2
--defaults-group-suffixOption group suffix value5.7.2
--helpDisplay help message and exit5.7.2
--hostHost to connect to (IP address or host name)5.7.2
--no-defaultsRead no option files5.7.2
--passwordAccepted but always ignored. Whenever mysql_secure_installation is invoked, the user is prompted for a password, regardless.5.7.2
--portTCP/IP port number for connection5.7.2
--print-defaultsPrint default options5.7.2
--protocolConnection protocol to use5.7.2
--socketFor connections to localhost, the Unix socket file to use5.7.2
--sslEnable encrypted connection5.7.2
--ssl-caFile that contains list of trusted SSL Certificate Authorities5.7.2
--ssl-capathDirectory that contains trusted SSL Certificate Authority certificate files5.7.2
--ssl-certFile that contains X509 certificate5.7.2
--ssl-cipherList of permitted ciphers for connection encryption5.7.2
--ssl-crlFile that contains certificate revocation lists5.7.2
--ssl-crlpathDirectory that contains certificate revocation list files5.7.2
--ssl-keyFile that contains X509 key5.7.2
--ssl-verify-server-certVerify host name against server certificate Common Name identity5.7.2
--tls-versionProtocols permitted for encrypted connections5.7.10
--use-defaultExecute with no user interactivity5.7.4
--userMySQL user name to use when connecting to server5.7.2

User Comments
  Posted by Kristian Köhntopp on October 3, 2012
mysql_secure_installation is not just unavailable on Windows, it is also not needed. The GUI installer von Windows offers to perform these post-installation steps, and enabled them even by default.
  Posted by Brian Pete on July 2, 2014
An alternative to the command mysql_secure_installation
  Posted by keith jolley on August 14, 2017
This program is probably not in your $PATH. On my install it was here: /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64/bin/mysql_secure_installation
Sign Up Login You must be logged in to post a comment.