1. 問題描述:
在安裝mysql前需先卸載自帶的Mysql-libs,或者安裝錯誤導致mysql不可用等等一系列原因要徹底刪除Linux上現存的所有的mysql。
解決方法:
使用以下命令查詢MySQL安裝情況:
[xiaobai@hadoop102 mysql
]$
rpm -qa
|grep -i mysql
若是啟動了MySQL,首先停止:
[xiaobai@hadoop102 mysql
]$
service mysql stop
使用sudo rpm -ev mysql安裝包 --nodeps命令徹底刪除這些已安裝的mysql:
[xiaobai@hadoop102 mysql
]$
sudo rpm -ev mysql-community-libs-5.7.16-1.el7.x86_64 --nodeps
執行完之后再次使用以下命令查詢便沒有輸出了:
[xiaobai@hadoop102 mysql
]$
rpm -qa
|grep -i mysql
but還需刪除域mysq相關的文件/庫,如圖,先使用以下命令查詢這些文件/庫所在位置:
[xiaobai@hadoop102 mysql
]$
sudo find / -name mysql
有些文件是可以直接進入目錄刪除的,但是有些文件不可以直接進入,例如/etc/selinux/targeted/active/modules/100/mysql這個目錄,走到active這一步就進不去了,sudo也進不去,那怎么辦呢?
直接使用sudo rm -rf 對應的文件目錄(注意:最后一層目錄一定是要刪除的mysql目錄,不要少加一層導致刪錯!)
[xiaobai@hadoop102 ~
]$
sudo rm -rf /etc/selinux/targeted/active/modules/100/mysql
接下來再用以下命令查詢mysq相關的文件/庫便沒有此文件了:
[xiaobai@hadoop102 ~
]$
sudo find / -name mysql
/opt/software/mysql
使用以下命令查詢mysql安裝情況也無,便表示mysql已經刪除掉了:
rpm -qa
|grep -i mysql
另外切記刪除/etc下面的這兩個文件:
[xiaobai@hadoop102 etc
]$
sudo rm -rf my.cnf
[xiaobai@hadoop102 etc
]$
sudo rm -rf my.cnf.d/
2. 問題描述:如圖,使用sudo cat /var/log/mysqld.log | grep password命令獲取的臨時密碼登錄時提示以下錯誤:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO);
當然我試過手動鍵入這個臨時密碼也無濟于事!
解決方法:
停止mysql服務:
[xiaobai@hadoop102 tmp
]$
sudo systemctl stop mysqld
使用sudo vi /etc/my.cnf命令打開mysql配置文件my.cnf:
[xiaobai@hadoop102 mysql
]$
sudo vi /etc/my.cnf
如圖,增加以下內容,表示跳過驗證環節直接無密登錄:
user=mysql
skip-grant-tables
重新啟動mysql服務:
[xiaobai@hadoop102 tmp
]$
sudo systemctl start mysqld
如圖,無需密碼,直接使用mysql -u root直接登錄:
[xiaobai@hadoop102 tmp
]$ mysql -u root
使用use mysql更改用戶:
如圖,在使用以下命令修改密碼的時候出現mysql> UPDATE user SET password=password("******") WHERE user=‘root’;錯誤
UPDATE user SET
password=password
("******") WHERE
user='root';
查了一下發現mysql數據庫下的password字段已經替換成了authentication_string字段;所以使用以下命令修改密碼:
mysql
> update mysql.user
set authentication_string=password
('******') where
user='root';
如圖,使用flush privileges;命令進行刷新:
mysql
> flush privileges
;
至此,密碼已經修改完畢,但需重新編輯/etc/my.cnf文件,刪掉user=mysql skip-grant-tables,避免再次免密登錄:
如圖,再次使用mysql -uroot -p即可登錄MySQL:
[xiaobai@hadoop102 tmp
]$ mysql -uroot -p
總結
以上是生活随笔為你收集整理的记录Linux下彻底删除MySQL以及启动MySQL之后使用密码登录提示报ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。