Home Database Mysql Tutorial Detailed introduction to the sample code of how to change the root password of mysql under Linux

Detailed introduction to the sample code of how to change the root password of mysql under Linux

Mar 16, 2017 pm 01:23 PM

mysql is a database that we often need to use in linux or windows. I believe that every programmer should be familiar with mysql, but sometimes the brain is short-circuited. I suddenly forgot the password of mysql super user root. At this time, I need to change a new password. The following article introduces how to change the root password of mysql under Linux. Let’s take a look.

Preface

It should have been several months since the service was deployed on mysql, because most of the work now is in the terminal, so there are very few Log in, I want to modify something today, and suddenly I found that I had completely forgotten the mysql password. I crawled through the code and finally found the password for the business database, but the root password was still not found, and the permissions could not be changed, so I started to crawl through the pits. I estimate that I will encounter them again in the future, so I will compile and record them. Friends who need it can come and take a look.

System parameters

Server

 $ cat /proc/version
 Linux version 4.8.3-x86_64-linode76 (maker@build) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Thu Oct 20 19:05:39 EDT 2016
 $ lsb_release -a
 No LSB modules are available.
 Distributor ID: Ubuntu
 Description: Ubuntu 16.04.1 LTS
 Release: 16.04
 Codename: xenial
Copy after login

mysql

 mysql> show variables like "%version%";
 +-------------------------+-------------------------+
 | Variable_name  | Value   |
 +-------------------------+-------------------------+
 | innodb_version  | 5.7.16   |
 | protocol_version | 10   |
 | slave_type_conversions |    |
 | tls_version  | TLSv1,TLSv1.1  |
 | version   | 5.7.16-0ubuntu0.16.04.1 |
 | version_comment  | (Ubuntu)  |
 | version_compile_machine | x86_64   |
 | version_compile_os | Linux   |
 +-------------------------+-------------------------+
Copy after login

Solution

Start mysql in safe mode. You can log in directly as root and then reset the password. The following are the specific steps

Stop the running MySQL service:

 sudo service mysql stop
Copy after login

Start mysql in safe mode:

 sudo mysqld_safe --skip-grant-tables --skip-networking &
Copy after login

Log in directly with root without a password:

 mysql -u root
Copy after login

Reset password:

 mysql> use mysql;
 mysql> update user set authentication_string=password('password') where user='root';
 mysql> flush privileges;
Copy after login

Exitmysql

 mysql > quit
Copy after login

Restart mysql

 sudo service mysql restart
Copy after login

Password login:

 mysql -u root -p
Copy after login
Copy after login

Exception handling

An error message is reported when changing the password, prompting ERROR 1054 (42S22)

When changing the password At that time, many documents on the Internet prompted to enter the command to modify:

 mysql> update user set password=PASSWORD("password") where User='root';
Copy after login

The result was an error when using this command:

 ERROR 1054 (42S22): Unknown column 'password' in 'field list'
Copy after login

The reason is that starting from mysql 5.7, the password field has been replaced by authentication_string , you can use the following command to modify

 update user set authentication_string=password('password') where user='root';
Copy after login

After changing the password, login to mysql fails, prompting ERROR 2002 (HY000)

After changing the password After restarting, I couldn't log in when I logged in to mysql. It prompted

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Copy after login

search and later feedback was because I installed multiple versions of mysql. Execute the following in sequence. command can be solved.

View the running mysql

 ps -A|grep mysql
Copy after login

kill the running mysql

 sudo pkill mysql
Copy after login

View the running mysqld

 ps -A|grep mysqld
Copy after login

kill the running mysqld

 sudo pkill mysqld
Copy after login

Restart mysql

 service mysql restart
Copy after login

Log in to mysql

 mysql -u root -p
Copy after login
Copy after login

Summary

The above is the detailed content of Detailed introduction to the sample code of how to change the root password of mysql under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

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 Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

Solve database connection problem: a practical case of using minii/db library Solve database connection problem: a practical case of using minii/db library Apr 18, 2025 am 07:09 AM

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Laravel Introduction Example Laravel Introduction Example Apr 18, 2025 pm 12:45 PM

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

How to set shortcut keys for sublime How to set shortcut keys for sublime Apr 16, 2025 am 09:15 AM

To set the shortcut keys for Sublime Text, follow these steps: Open the shortcut key settings file Key Bindings - User. Add shortcut key settings using the format { "keys": ["key combination"], "command": "command" }. Save changes. Reload the shortcut key settings for the changes to take effect.

How to set important Git configuration global properties How to set important Git configuration global properties Apr 17, 2025 pm 12:21 PM

There are many ways to customize a development environment, but the global Git configuration file is one that is most likely to be used for custom settings such as usernames, emails, preferred text editors, and remote branches. Here are the key things you need to know about global Git configuration files.

See all articles