search
HomeDatabaseMysql TutorialWhat should I do if I forget mysql root password on Linux?

MySQL is a widely used relational database management system and an important open source software. When using MySQL, we often need to use the root account to log in to MySQL. However, what should you do if you forget the password of the root account?

This article will introduce some common solutions so that you can quickly restore access to the root account.

Option 1: Use the mysqladmin command

mysqladmin is the command line tool that comes with MySQL. You can use it to change the root password. The specific operation method is as follows:

  1. Open the terminal and enter the following command:

    sudo systemctl stop mysql

    This command will shut down MySQL. The reason why I shut down MySQL first is to make it easier to change the password later.

  2. Enter the following command to enable passwordless login:

    sudo mysqld_safe --skip-grant-tables &

    This command will enable MySQL temporary permission, you can temporarily access the MySQL database without a password.

  3. Enter the following command to connect to the MySQL database:

    mysql -uroot

    After entering this command, you will enter the command line mode.

  4. Modify root password:

    use mysql;

    update user set authentication_string=password('123456') where user='root';

    This command changes the root password in the database to "123456". You can also replace this password with the password you want to set.

  5. Exit MySQL command line mode:

    quit

  6. Restart MySQL:

    sudo systemctl start mysql

  7. Log in with the modified password:

    mysql -u root -p

    This command will ask you to enter a new password to log in to MySQL.

Option 2: Use init script

This option requires you to have root permissions. You can use the Linux init script to restart MySQL and load the SQL script to change the root password.

The steps are as follows:

  1. Stop the MySQL service:

    sudo /etc/init.d/mysql stop

  2. Create a file containing SQL commands:

    sudo nano /var/mysql-init

    This command will create a mysql-init file in the /var directory and allow you to use nano editor, enter the following:

    UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='root';
    FLUSH PRIVILEGES;

    The above command will The password for root is changed to "123456".

  3. Enable MySQL service:

    sudo /etc/init.d/mysql start

    When MySQL starts, it will automatically execute SQL command in the command file to change the root password.

  4. Clear the error message:

    sudo rm /var/mysql-init

If you forget the root password, use this Either of the two options will allow you to regain access to MySQL. However, option 1 is recommended because it is simpler and easier to understand and has no negative impact on the normal operation of MySQL.

Of course, to avoid forgetting passwords, you should establish a better password management strategy, such as using a password management tool to store your MySQL passwords, or changing passwords regularly to improve security.

The above is the detailed content of What should I do if I forget mysql root password on Linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Adding Users to MySQL: The Complete TutorialAdding Users to MySQL: The Complete TutorialMay 12, 2025 am 12:14 AM

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

Mastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: String Data Types and Indexing: Best PracticesMySQL: String Data Types and Indexing: Best PracticesMay 12, 2025 am 12:11 AM

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.

MySQL: How to Add a User RemotelyMySQL: How to Add a User RemotelyMay 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

The Ultimate Guide to MySQL String Data Types: Efficient Data StorageThe Ultimate Guide to MySQL String Data Types: Efficient Data StorageMay 12, 2025 am 12:05 AM

TostorestringsefficientlyinMySQL,choosetherightdatatypebasedonyourneeds:1)UseCHARforfixed-lengthstringslikecountrycodes.2)UseVARCHARforvariable-lengthstringslikenames.3)UseTEXTforlong-formtextcontent.4)UseBLOBforbinarydatalikeimages.Considerstorageov

MySQL BLOB vs. TEXT: Choosing the Right Data Type for Large ObjectsMySQL BLOB vs. TEXT: Choosing the Right Data Type for Large ObjectsMay 11, 2025 am 12:13 AM

When selecting MySQL's BLOB and TEXT data types, BLOB is suitable for storing binary data, and TEXT is suitable for storing text data. 1) BLOB is suitable for binary data such as pictures and audio, 2) TEXT is suitable for text data such as articles and comments. When choosing, data properties and performance optimization must be considered.

MySQL: Should I use root user for my product?MySQL: Should I use root user for my product?May 11, 2025 am 12:11 AM

No,youshouldnotusetherootuserinMySQLforyourproduct.Instead,createspecificuserswithlimitedprivilegestoenhancesecurityandperformance:1)Createanewuserwithastrongpassword,2)Grantonlynecessarypermissionstothisuser,3)Regularlyreviewandupdateuserpermissions

MySQL String Data Types Explained: Choosing the Right Type for Your DataMySQL String Data Types Explained: Choosing the Right Type for Your DataMay 11, 2025 am 12:10 AM

MySQLstringdatatypesshouldbechosenbasedondatacharacteristicsandusecases:1)UseCHARforfixed-lengthstringslikecountrycodes.2)UseVARCHARforvariable-lengthstringslikenames.3)UseBINARYorVARBINARYforbinarydatalikecryptographickeys.4)UseBLOBorTEXTforlargeuns

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft