首頁 資料庫 mysql教程 詳細介紹Linux下mysql的root密碼修改方法的範例程式碼

詳細介紹Linux下mysql的root密碼修改方法的範例程式碼

Mar 16, 2017 pm 01:23 PM

mysql是我們經常在linux或windows需要用的一種資料庫,相信每位程式設計師對mysql應該都再熟悉不過了,但是有時大腦短路,突然忘記mysql的超級用戶root的密碼,這時候就要修改個新的密碼了,下面這篇文章就介紹了Linux下mysql的root密碼修改方法,一起來看看吧。

前言

在服務部署在mysql上應該有好幾個月了,因為現在的工作基本上都在終端,因此很少登陸,今天要修改個東西,忽然發現我竟然已經徹底忘記了mysql的密碼,去代碼裡面爬終於找到了業務資料庫的密碼,但是root密碼還是沒有找到,權限沒法改呀,於是開始爬坑之旅,估計以後還會遇到,就整理記錄一下。需要的朋友們一起來看看吧。

系統參數

伺服器

 $ 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
登入後複製

##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   |
 +-------------------------+-------------------------+
登入後複製

解決方案

安全模式啟動mysql,可以直接以root身分登錄,然後重設密碼。以下是具體步驟

停掉在執行的MySQL服務:

 sudo service mysql stop
登入後複製
以安全模式啟動mysql:

 sudo mysqld_safe --skip-grant-tables --skip-networking &
登入後複製
直接用root登錄,無需密碼:

 mysql -u root
登入後複製
重新設定密碼:

 mysql> use mysql;
 mysql> update user set authentication_string=password('password') where user='root';
 mysql> flush privileges;
登入後複製

退出mysql

 mysql > quit
登入後複製
重啟mysql

 sudo service mysql restart
登入後複製
密碼登入:

 mysql -u root -p
登入後複製
登入後複製

異常處理

修改密碼報錯,提示ERROR 1054 (42S22)

在修改密碼的時候,網路上比較多的文件都是提示輸入一下指令修改:

 mysql> update user set password=PASSWORD("password") where User='root';
登入後複製
結果使用這個指令的時候報錯:

 ERROR 1054 (42S22): Unknown column 'password' in 'field list'
登入後複製
原因是從mysql 5.7開始,password欄位被取代為了authentication_string ,可以使用下面的指令來修改

 update user set authentication_string=password('password') where user='root';
登入後複製

修改密碼後登入mysql失敗,提示ERROR 2002 (HY000)

#在修改密碼並重啟以後,登入mysql的時候竟然登入不了,提示

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
登入後複製

搜尋以後回饋是因為我安裝了多個版本的mysql,順序執行下面的命令即可解決。

查看運行的mysql

 ps -A|grep mysql
登入後複製
kill運行的mysql

 sudo pkill mysql
登入後複製
查看運行的mysqld

 ps -A|grep mysqld
登入後複製
kill運行的mysqld

#

 sudo pkill mysqld
登入後複製
重啟mysql

 service mysql restart
登入後複製
登入mysql

 mysql -u root -p
登入後複製
登入後複製

#總結##

以上是詳細介紹Linux下mysql的root密碼修改方法的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MySQL的角色:Web應用程序中的數據庫 MySQL的角色:Web應用程序中的數據庫 Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

解決數據庫連接問題:使用minii/db庫的實際案例 解決數據庫連接問題:使用minii/db庫的實際案例 Apr 18, 2025 am 07:09 AM

在開發一個小型應用時,我遇到了一個棘手的問題:需要快速集成一個輕量級的數據庫操作庫。嘗試了多個庫後,我發現它們要么功能過多,要么兼容性不佳。最終,我找到了minii/db,這是一個基於Yii2的簡化版本,完美地解決了我的問題。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

MySQL與其他編程語言:一種比較 MySQL與其他編程語言:一種比較 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

laravel框架安裝方法 laravel框架安裝方法 Apr 18, 2025 pm 12:54 PM

文章摘要:本文提供了詳細分步說明,指導讀者如何輕鬆安裝 Laravel 框架。 Laravel 是一個功能強大的 PHP 框架,它 упростил 和加快了 web 應用程序的開發過程。本教程涵蓋了從系統要求到配置數據庫和設置路由等各個方面的安裝過程。通過遵循這些步驟,讀者可以快速高效地為他們的 Laravel 項目打下堅實的基礎。

See all articles