If you have MySQL running in your data center, changing the password or even locating the root password will be your primary focus for a while. If you have forgotten what you set as a root password for MySQL or do not even know the service’s default password, the security of your data center may be jeopardized. Setting up the root user password will be easier with the command line tool or during the installation of MySQL or MariaDB.
If you have administrative privileges on your Linux computer, you can use su or sudo to reset or change your default MySQL password. In this post, we’ll go over how to change the default password for your database management system. So, go through each section because they contain important information.
What is MySQL?
MySQL is a database management system used by web application programs. This service also includes an administrator with a root password to access the database. With the root password, you can perform many high-level functions in the database, such as accessing critical information, deleting or creating data, and so on. Although you do not need a MySQL password to connect to your database, the security of your data centre may be jeopardized if you do not have one.
Creating a strong password will always protect your database from outside attackers or hackers looking to cause harm to your business. Even if your database already has a root password but you don’t know what it is, you should write it down. We will assist you to learn about your password, regardless of whether you are using Windows or Linux.
Does MySQL have a Default Password?
In simple words, MySQL has a default user, which we call root, but root does not have a default password. But you can give it a password for the first time to make sure the security is top-notch. Here we are going to show you how to set up a root password for MySQL for the first time, and please note that these steps will work for both MySQL and MariaDB.
Usually, when you are installing MySQL or MariaDB for the first time, they ask you to set up a password. But if you have not set up a password yet, you will need to later. To primarily arrange a root password, open up your terminal and type the following command:
mysqladmin -u root password NEWPASSWORD
Replace the word “NewPassword” with your own strong password. Make sure the password is alphanumeric and not easily recognizable. After setting the password, when you log in to MySQL in the future with the mysql-u root-p command, it will ask you to enter the new password. But alternatively, you can also set up a new password using the mysql_secure_connection command.
This command is more recommended than the previous one because it will help you with removing anonymous users, preventing remote root logins, testing a remote test database, and setting up a root user password. Just type mysql_secure_connection in the terminal, and the command will work. You will have to answer some questions afterward by typing the command, and your password will be created.
But this is how you create and set up a password for the MySQL root user. If you need to change it, you must do so in a different way.
How to Replace the Root Password on Linux?
Changing the root password of MySQL on Linux is not difficult. No matter what distribution you are using (Ubuntu, Fedora, Debian, etc.), logging into your system will be the first step towards changing your root password.
Step 1- Log in to your Linux using SSH or any remote shell.
Step 2- End the MySQL server in case it is currently running. You can do that by using init system such as SysV init:
$ sudo service mysql stop
# SysV init
Step 3- If you have a custom MySQL installation, try to stop the MySQL server by sending a normal TERM with the kill command to the mysqld process:
$ killall mysqld
Step 4- Create a text file with the password in a single line:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPassword’;
Step 5- Save the file but before that, make sure that the mysql user has access to the file.
Step 6- Now start the MySQL server using the init file and enter its name to the file you have saved in the previous step:
$ mysqld –init-file=/home/me/mysql-init
Step 7- As soon as the server boots, the content of the file will be executed in order to change the password.
Step 8- When the server runs successfully, feel free to delete the SQL file you created previously. And you should be capable of connecting to the MySQL server as a root user with the new password.
Step 9- However, you need to end the MySQL server and start MySQL on your Linux system with this command:
$ sudo service mysql start
# SysV init
If you run this command on the terminal, it will restart the MySQL server and apply the new password:
mysqld –init-file=/home/me/mysql-init &
That’s it. Applying these steps will support you in changing the root password on your Linux system. But if you are using Windows, the steps will be similar with a little twist in it.
How to Switch Root Password on Windows?
Replacing the root password on Windows is somewhat like changing it on Linux, but here you will have to create another init file that will include the password reset content. And we will have to start the server manually with the command prompt. Here are the steps you need to follow:
Step 1- Log in to your Windows with RDP or any console as the administrator or from a user account that has administrative privileges.
Step 2- Stop the MySQL server if it is currently running.
If the MySQL server is running as a Windows service, open the Start menu, click on the Control Panel, click on Administrative Tools, select Services, and click on MySQL service from the list. There will be an option to stop the service.
Step 3- Now, create an init file that will include the password and SQL statement on a singular line:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘MyNewPass’;
Step 4- Save the file on your disk.
Step 5- Open command prompt from the Run box by typing cmd.
Step 6- Now start the MySQL server with the newly created init file. The paths will be like this below:
C:\> cd “C:\Program Files\MySQL\MySQL Server 8.0\bin”
C:\> mysqld –init-file=C:\\mysql-init.txt
Step 7- The server will reboot, and the init file, along with the password content we’ve written inside, will be executed. In addition, the password will be changed.
Step 8- You can now delete the init file you have created from another command prompt if you want. And like we stated in the steps for Linux, you can join the MySQL server using the new root password.
Step 9- Stop the server and restart it from Windows Service Console.
Now that you know how to set up a password for MySQL and change the password, you might also look for ways to manage MySQL users on your system.
How do you manage MySQL Users with a Third-Party Tool?
Security administrators don’t usually recommend using the root user for professionals to access the application or the database. This is because the admin privileges are important for the system as they allow the users to control or monitor system activities. In the event that the root username and password are compromised, it will lead to a difficult security vulnerability that is not admirable. But if so, then how do the developers access the database? Do they create multiple accounts or a shared account with multiple developers? If one developer changes the password, does he inform the others?
That’s where strong DRM or JumpCloud come into the picture. They enable you to abstract the usernames and passwords of MySQL from multiple users and ask the administrator to keep the master password safely with a separate lock and key. With these tools, you can perform centralized authentication and audit the actions taken on the MySQL host whenever needed. Microsoft Azure Active Directory, OneLogin, etc., are two more examples of third-party tools that allow users to separate their passwords among themselves to prompt more secure logins.
Lastly, we want to remind you that setting up or changing a password is not difficult, but remembering it or keeping it in a safe place is. Always use strong and long passwords that attackers or people outside of the system can’t guess. And if you forget the MySQL password, then use the command sudo service MySQL stop and start the server using the command sudo mysqld_safe–skip-grant-tables–skip-networking. When you connect to the server using your root account, it will show you the password you set earlier. Or they will also show you a way to reset the password that might help. If you require guidance with this, let us know in the comment section here.
People are also reading:
- Default CISCO Switch Password
- Best Windows VPS Hosting Providers
- Linux vs Windows Hosting
- How to Perform a Windows Server Backup?
- Default Linksys Password
- How to SSH to Windows Server?
- How do I Start Windows 10 in Safe Mode?
- Basic Git Commands
- Windows vs Linux
- How to Fix Wi-Fi Connection Issues in Windows?