主頁(yè) > 知識(shí)庫(kù) > Linux下mysql的root密碼修改方法

Linux下mysql的root密碼修改方法

熱門(mén)標(biāo)簽:永州智能外呼系統(tǒng) 地圖標(biāo)注直通車(chē) dq8 全地圖標(biāo)注 趙縣地圖標(biāo)注 電銷(xiāo)機(jī)器人市場(chǎng)價(jià) 南寧智能電銷(xiāo)機(jī)器人價(jià)格 哈爾濱云外呼系統(tǒng)運(yùn)營(yíng)商 遂寧400電話(huà)申請(qǐng) 邯鄲400電話(huà)注冊(cè)辦理

前言

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

系統(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   |
 +-------------------------+-------------------------+

解決方案

以安全模式啟動(dòng)mysql,可以直接以root身份登錄,然后重設(shè)密碼。下面是具體步驟

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

 sudo service mysql stop

以安全模式啟動(dòng)mysql:

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

直接用root登錄,無(wú)需密碼:

 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

異常處理

修改密碼報(bào)錯(cuò),提示ERROR 1054 (42S22)

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

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

結(jié)果使用這個(gè)命令的時(shí)候報(bào)錯(cuò):

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

原因是從mysql 5.7開(kāi)始,password字段被替換為了authentication_string,可以使用下面的命令來(lái)修改

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

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

在修改密碼并重啟以后,登錄mysql的時(shí)候竟然登錄不了,提示

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

搜索以后反饋是因?yàn)槲野惭b了多個(gè)版本的mysql,順序執(zhí)行下面的命令即可解決。

查看運(yùn)行的mysql

 ps -A|grep mysql

kill運(yùn)行的mysql

 sudo pkill mysql

查看運(yùn)行的mysqld

 ps -A|grep mysqld

kill運(yùn)行的mysqld

 sudo pkill mysqld

重啟mysql

 service mysql restart

登錄mysql

 mysql -u root -p

總結(jié)

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

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

標(biāo)簽:上海 鄂州 張家界 浙江 南寧 定西 阿里 中衛(wèi)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下mysql的root密碼修改方法》,本文關(guān)鍵詞  Linux,下,mysql,的,root,密碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下mysql的root密碼修改方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Linux下mysql的root密碼修改方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章