【Linux】修改mysql的root密碼
背景
服務部署在mysql上應該有好幾個月了,因為現在的工作基本都在終端,因此很少登陸,今天要修改個東西,忽然發現我竟然已經徹底忘記了mysql的密碼,去程式碼裡面爬終於找到了業務資料庫的密碼,但是root密碼還是沒有找到,許可權沒法改呀,於是開始爬坑之旅,估計以後還會遇到,就整理記錄一下。
系統引數
-
伺服器
$ cat /proc/version Linux version 4.8.3-x86_64-linode76 ([email protected]) (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密碼
背景 服務部署在mysql上應該有好幾個月了,因為現在的工作基本都在終端,因此很少登陸,今天要修改個東西,忽然發現我竟然已經徹底忘記了mysql的密碼,去程式碼裡面爬終於找到了業務資料庫的密碼,但是root密碼還是沒有找到,許可權沒法改呀,於是開始爬坑之旅,估計以後還會
【linux】修改檔案所屬使用者和組
使用chown命令可以修改檔案或目錄所屬的使用者: 命令:chown 使用者 目錄或檔名 例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq使用者) 使用chgrp命令可以修改檔案或目錄所屬的組: 命令:chgrp 組
【Linux】如何修改使用者的密碼
你是普通使用者的話 你是普通使用者的話,修改自己的密碼,用:passwd,就可以了,會讓你先輸入自己的舊密碼,再輸入兩遍新密碼。
【Linux】目錄文件權限的查看和修改【轉】
文件和目錄 得到 區域 紅色 執行命令 img 同時 修改權限 似的 轉載自:http://zhaoyuqiang.blog.51cto.com/6328846/1214718 ----------------------------------------------
【Linux】使用xshell登陸時密碼框為灰色,無法輸入密碼
inline round spl log 退出 灰色 ref linu .cn 使用xshell登陸時,出現以上情況,那麽這到底值咋回事呢?經過查詢以後發現是服務器端設置問題,解決辦法如下:vi /etc/ssh/sshd_config接著保存退出,然後重啟sshd服務se
【Linux】Vim修改tab為4個空格
class 文件 pan bash ash 空白 ESS pri ber 修改配置 如果要修改全局Vim的配置 vim /etc/vim/vimrc 1 但是不建議這麽做,可以只修改當前用戶的Vim配置 vim ~/.vimrc 1 在配置文件中添加以下參數
【Linux】SSH證書免密碼遠端登陸Linux(Putty)
1、前言 新購置一臺便宜伺服器做資料庫伺服器,減輕Web伺服器的壓力。 為了安全性,root密碼設定的非常複雜(隨機生成),厭倦了拷貝密碼登陸的歷史。 Putty基本用法都不會的請先花10分鐘自行學習。 2、開始 1、用PuTTY SSH 金鑰生成工具puttygen.exe生成金鑰
【Linux】Linux作業系統——配置ssh免密碼登入遠端伺服器
ssh免密碼登入遠端伺服器 最簡單的操作 ssh免密碼登入的原理是把本地電腦的公鑰放在宿主機,然後使用本地電腦的私鑰去認證。 在本地電腦執行 /usr/bin/ssh-keygen -t rsa,安裝提示一直回車即可,最後會看到~/.ssh目錄下多了幾個檔案id_rsa (
【Linux】為什麼root無法對檔案進行修改
檔案許可權為:-rw-rw-r--,無法用root許可權修改。嘗試方法: 1. chomd 666 檔名,失敗。 2. chattr –i 檔名,失敗。提示lsattr: Inappropriate
【Linux】關於mpiexec中的config檔案可以在提交程式後修改
演算法評測需要跑很多次取均值,因此離不開linux叢集。 叢集上並行執行多次的命令是mpiexec,執行10次的命令是:mpiexec -n 10 -f config nohup python hel
【linux】對檔案的使用者許可權的修改
使用root許可權可以將檔案或者資料夾的許可權更改為其他許可權; 1,更改使用者許可權: 使用'll' 或'ls -l' 可以檢視檔案的使用者許可權: 第三列是檔案擁有者,第四列是所屬的使用者組。 使用"chown 賬號名稱 檔案或目錄" ,
【mysql】mysql 忘記密碼後如何修改和檢視
一、window 環境下 輸入 cmd 終端 1)、先修改訪問許可權: 1.在命令列執行:taskkill /f /im mysqld-nt.exe 2.繼續在命令列執行:mysqld-nt --skip-grant-tables 3.新開一個命令列執行:mysql -u root&
【linux】如何檢視檔案的建立、修改時間
本篇博文旨在介紹Linux下檢視檔案時間的方法;並介紹如何使用touch指令來進行檔案時間的建立以及修改 如何檢視檔案的時間資訊 利用stat指令檢視檔案資訊 三種時間的介紹 ATime ——檔案
【Linux】和【Mac】下修改終端提示文字和主機名的方法
1. 修改終端提示文字PS1 RedHat下: vim ~/.bashrc export PS1="[\[email protected]\h \W]\$ " Ubuntu下: vim ~
【Linux】解決SSH服務拒絕密碼
xShell連線Linux伺服器提示密碼錯誤。 1、檢查虛擬機器SSH服務是否開啟: service sshd status,如果沒有開啟,請執行service sshd start
【Linux】目錄檔案許可權的檢視和修改【轉】
在Linux系統中檔案的許可權可以在檔案上單擊右鍵—>屬性來檢視。 但是我們這次用的是全命令來檢視和修改檔案的許可權 為了舉一個例項,我們在mnt資料夾中建立一個fileA檔案,然後在fileA資料夾中建立一個zhaoyuqiang.html網頁。
【Linux】創建不可修改文件
ted 修改 inux -i uri test perm mit rm -rf 有時候,我們害怕別人修改我們創建的文件,或者是誤刪我們創建的文件,那麽我們可以使用下面的方法進行控制即可1.創建不可刪除文件Linux:/qinys/oliver # touch test.sh
【Linux】Centos 7重置密碼
前言: 很早之前自己虛擬機器的密碼就忘記了,自己也嘗試了去解決,可是並沒有解決掉,因為自己的Xshell當時是記住密碼連線的,所以把這事放一邊了,直到有一天突然發現Xshell也無法連線自己的虛擬機器了,奔潰,只能解決了唄,常在河邊站哪有不溼鞋,想偷懶是不行的
【Linux】root密碼忘記終極解決方法
1、重啟Ubuntu,在最開始按ESC 2、進入Advanced options for Ubuntu,recovery mode,回車 3、選 root Drop to root shell prompt,回車 4、輸入如下命令 chmod 666 /dev/null
【Linux】ubuntu首次給root使用者設定密碼
用過ubuntu的人都知道,剛安裝好root使用者是沒有密碼的,沒有密碼我們就沒法用root使用者登入 給root使用者設定密碼輸入命令sudo passwd,然後系統會讓你輸入密碼,這時輸入的密碼