From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎日本語 • ‎한국어 • ‎русский

MySQL is a popular, free software relational database management system. It is often used in conjunction with web applications (such as many PHP sites), but has gained many more enterprise-level features since its start in 1994. An alternative fork is MariaDB.


USE flags

Before installing dev-db/mysql, carefully consider the USE flags that influence the package deployment and features. The following table gives an overview of the package' supported USE flags:

Cannot load package information. Is the atom dev-db/mysql correct?


Once the proper USE flags have been set, install mysql:

root #emerge --ask dev-db/mysql




To have the database(s) started automatically at boot, add the mysql init script to the default runlevel:

root #rc-update add mysql default

After configuring the database, which is mentioned later in this document, start the mysql service:

root #rc-service mysql start

Preliminary configuration

The dev-db/mysql package handles the preliminary setup of MySQL through the --config option:

root #emerge --config dev-db/mysql

This will create a database, set proper permissions on it and assist in creating a good root password (this is for the MySQL root account, which is not related to the Linux root account).

To purge anonymous users and test databases from the installation, run mysql_secure_installation after the preliminary setup:

root #mysql_secure_installation

In-database configuration

When the database is up and running, connect to it using the mysql client application.

user $mysql -u root -p -h localhost
Enter root password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.5.1
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

From this point, a session to the MySQL instance is open, allowing for queries and administrative commands to be serviced.

Erasing command history

By default MySQL logs every action, including leaving plain text passwords in its history file.

To remove the history file:

root #rm /root/.mysql_history

Alternatively you can permanently disable history logging with the following:

root #ln -sf /dev/null /root/.mysql_history

See also

External resources