佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Linux下mysql的root密碼修改方法

Linux下mysql的root密碼修改方法

熱門標簽:Linux服務(wù)器 鐵路電話系統(tǒng) 服務(wù)外包 AI電銷 呼叫中心市場需求 地方門戶網(wǎng)站 百度競價排名 網(wǎng)站排名優(yōu)化

前言

在服務(wù)部署在mysql上應(yīng)該有好幾個月了,因為現(xiàn)在的工作基本都在終端,因此很少登陸,今天要修改個東西,忽然發(fā)現(xiàn)我竟然已經(jīng)徹底忘記了mysql的密碼,去代碼里面爬終于找到了業(yè)務(wù)數(shù)據(jù)庫的密碼,但是root密碼還是沒有找到,權(quán)限沒法改呀,于是開始爬坑之旅,估計以后還會遇到,就整理記錄一下。需要的朋友們一起來看看吧。

系統(tǒng)參數(shù)

服務(wù)器

 $ 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身份登錄,然后重設(shè)密碼。下面是具體步驟

停掉在運行的MySQL服務(wù):

 sudo service mysql stop

以安全模式啟動mysql:

 sudo mysqld_safe --skip-grant-tables --skip-networking 

直接用root登錄,無需密碼:

 mysql -u root

重設(shè)密碼:

 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)

在修改密碼的時候,網(wǎng)上比較多的文檔都是提示輸入一下命令修改:

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

結(jié)果使用這個命令的時候報錯:

 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,順序執(zhí)行下面的命令即可解決。

查看運行的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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • mysql 8.0.16 winx64及Linux修改root用戶密碼 的方法
  • 詳解如何在Linux中重置MySQL或者MariaDB的root密碼
  • 詳解如何在Linux(CentOS)下重置MySQL根(Root)密碼
  • 在Linux環(huán)境下mysql的root密碼忘記解決方法(三種)
  • linux系統(tǒng)中重置mysql的root密碼
  • 如何在Linux下修改Mysql的用戶(root)密碼
  • Linux MySQL忘記root密碼解決方案

標簽:仙桃 崇左 湖南 銅川 黃山 蘭州 衡水 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Linux下mysql的root密碼修改方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    平武县| 鄯善县| 广州市| 敦化市| 钦州市| 乌拉特中旗| 南宁市| 正宁县| 剑阁县| 崇文区| 托克逊县| 环江| 哈尔滨市| 登封市| 南部县| 大余县| 张北县| 兴安盟| 海淀区| 含山县| 云南省| 衡阳县| 巴彦淖尔市| 成都市| 长岭县| 安仁县| 莒南县| 上饶市| 民乐县| 河间市| 尚义县| 黔西县| 尉犁县| 加查县| 天等县| 霍山县| 乐业县| 榕江县| 台北市| 若尔盖县| 孙吴县|