Installing MySQL on Linux is easy to do, but setting it up has changed a bit. I will tell you how to set up a MySQL instance and get it running properly.
If you are getting the error shown below, then read on.
jason@jason-Lenovo-H50-55:~$ sudo mysql_secure_installation [sudo] password for jason: Securing the MySQL server deployment. Connecting to MySQL using a blank password. The 'validate_password' component is installed on the server. The subsequent steps will run with the existing configuration of the component. Please set the password for root here. New password: Re-enter new password: Estimated strength of the password: 50 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y ... Failed! Error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters. |
Install MySQL on Linux like this. This is easily done on the Ubuntu server.
jason@jason-Lenovo-H50-55:~$ sudo apt install mysql-server mysql-client |
Then, once it is installed, run the sudo mysql
command to begin the setup of our MySQL database server.
jason@jason-Lenovo-H50-55:~$ sudo mysql [sudo] password for jason: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.30-0ubuntu0.20.04.2 (Ubuntu) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '6ff1209daFFG64&*('; Query OK, 0 rows affected (0.08 sec) mysql> |
This MySQL query is the key. This sets a secure password for the server. This is very important.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '6ff1209daFFG64&*('; |
After this, you will be prompted to provide further configuration of the MySQL server and say yes to remove all test databases and anonymous users, this is not needed for a serious database server.
jason@jason-Lenovo-H50-55:~$ sudo mysql_secure_installation Securing the MySQL server deployment. Enter password for user root: The 'validate_password' component is installed on the server. The subsequent steps will run with the existing configuration of the component. Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : n ... skipping. By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y Success. |
After all of this, you will be all set. Then use the command below to log in to the new server.
jason@jason-Lenovo-H50-55:~$ sudo mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 8.0.30-0ubuntu0.20.04.2 (Ubuntu) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
How to install and use MySQL in 2022 with the proper password set for the root user. How to fix the ‘SET PASSWORD has no significance for user ‘root’@’localhost” error and use this database properly. This is an annoying error, but can easily be fixed.
Some very nice tips on listing databases and getting MySQL version.