mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


問題:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
問題描述:在linux中使用mysql -uroot -p 輸入密碼提示如上錯誤
解決方法:
1、先停掉原來的服務
  service mysqld stop
2、使用安全模式登陸,跳過密碼驗證
  mysqld_safe --user=mysql --skip-grant-tables --skip-networking&


  安全模式啟動報錯,重進mysql報:RROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  1)、查看mysql.sock的位置是否正確
    /etc/my.cnf中查看,如不是則修改路徑為/var/lib/mysql/mysql.sock

  

  2)、重新啟動mysql服務
    service mysqld restart
  3)、查看服務是否重啟成功,並創建一個軟鏈接
    service mysqld status 狀態為running 則說明啟動成功
    創建軟連接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  4)、停止服務並重新以安全模式啟動
  如還是報一樣的錯誤,請重新啟動服務並查看/tmp/mysql.sock軟鏈接的實際文件是否存在,紅底閃動表示源文件存在問題

3、登錄mysql
  mysql -uroot mysql
4、修改密碼
  update MySQL.user set authentication_string=password('newpassword') where user='root';
5、刷新權限
  flush privileges;
6、退出mysql
  quit;
7、退出安全模式,已正常模式登錄mysql
  查看mysql相關進程 ps aux |grep mysqld
  殺掉mysql所有相關進程 kill -9 進程號
  重新查看mysql進程,如下表示進程殺掉成功
  

 

8、重啟mysql服務
  service mysqld restart
9、執行其他命令:show databases; 提示如下錯誤
  You must reset your password using ALTER USER statement
  before executing this statement.

10、重新將密碼設置一遍即可

  mysql > set password = password ('newpassword');

其他命令:
1、查看端口號是否已經打開
  lsof -i:3306
2、查找文件或者文件夾命令
  find src type filename filetype 如:find / -name my.cnf 或者 find /var -name mysql -d
3、編輯文件
  vi/vim 文件名 進入文件之后按 i 可對文件進行編輯操作 :w保存文件 :q退出文件 :wq保存退出
4、查看文件尾部
  tail -row 如 tail -50


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM