mention the auth_socket syntax too. suggested by an anonymous reviewer
|Deletions are marked like this.||Additions are marked like this.|
|Line 68:||Line 68:|
|In the client, execute the following (replace `YOUR_SYSTEM_USER` with your user name):||In the client, execute one of the following (replace `YOUR_SYSTEM_USER` with your user name):
For the MySQL 5.5+ [[https://dev.mysql.com/doc/refman/5.5/en/socket-pluggable-authentication.html|auth_socket]] plugin:
CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED WITH auth_socket;
For the MariaDB 5.2.0+ [[https://mariadb.com/kb/en/library/authentication-plugin-unix-socket/|unix_socket]] plugin:
MySQL is a relational Database Management System.
MySql will start on boot time. You can also type manually (as root):
After an upgrade of the Debian package you might need to run (as root):
MySql will only install if you have a NON-NUMERIC hostname that is resolvable via the /etc/host file
The Debian package of MySql server creates the user debian-sys-maint that is used in the start-stop and cron scripts. Don't delete it.
To use MySql client just type as any user :
MySQL Workbench is also a great GUI tool for managing local and remote databases. This is the "official" GUI of the MySQL project and can be installed from the main repository by running the following command in a terminal:
apt-get install mysql-workbench
If you have Apache and PHP installed, you can use phpMyAdmin to administer any MySql databases.
Root Access and Adding Users
At least since Debian 9 "stretch," operating system credentials are used by MySQL Server to authenticate users. That is, after installing mysql-server and mysql-client you can access the server with root privileges by executing the following
Note: Your user must be in the sudo group for this to work.
To allow your user to access the MySQL server, run the MySQL client as root:
In the client, execute one of the following (replace YOUR_SYSTEM_USER with your user name):
For the MySQL 5.5+ auth_socket plugin:
USE mysql; CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED WITH auth_socket; exit;
For the MariaDB 5.2.0+ unix_socket plugin:
USE mysql; CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED VIA unix_socket; exit;
Now you can access the server simply by running
Reseting the Root Password for Debian 8 "jessie" and older
During the installation of MySQL Server you were prompted to set the password for the root user for the database. If you forget this password or if there are some issues during the installation you can reset the root password using the steps below.
1. Login to a terminal with the root user
2. Stop MySQL
service mysql stop
3. Create a file called mysql-init
4. Paste the following contents into the mysql-init file, make sure to change the password to the new password of your choice. Save this file and exit nano.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES;
5. Start MySQL using the following command
mysqld_safe --init-file=mysql-init &
6. Remove the mysql-init file
7. Start MySQL normally and you should now be able to login with the root database user using the new password that you just created.
service mysql start
Some pointers for merging Debian branches into Ubuntu can be found on the Ubuntu Development page.