問(wèn)題:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
問(wèn)題描述:在linux中使用mysql -uroot -p 輸入密碼提示如上錯(cuò)誤
解決方法:
1、先停掉原來(lái)的服務(wù)
service mysqld stop
2强岸、使用安全模式登陸恬偷,跳過(guò)密碼驗(yàn)證
mysqld_safe --user=mysql --skip-grant-tables --skip-networking&
安全模式啟動(dòng)報(bào)錯(cuò)在辆,重進(jìn)mysql報(bào):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)、重新啟動(dòng)mysql服務(wù)
service mysqld restart
3)乍赫、查看服務(wù)是否重啟成功,并創(chuàng)建一個(gè)軟鏈接
service mysqld status 狀態(tài)為running 則說(shuō)明啟動(dòng)成功
創(chuàng)建軟連接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
4)瓣蛀、停止服務(wù)并重新以安全模式啟動(dòng)
如還是報(bào)一樣的錯(cuò)誤,請(qǐng)重新啟動(dòng)服務(wù)并查看/tmp/mysql.sock軟鏈接的實(shí)際文件是否存在,紅底閃動(dòng)表示源文件存在問(wèn)題
3、登錄mysql
mysql -uroot mysql
4耿焊、修改密碼
update MySQL.user set authentication_string=password('newpassword') where user='root';
5揪惦、刷新權(quán)限
flush privileges;
6遍搞、退出mysql
quit;
7罗侯、退出安全模式,已正常模式登錄mysql
查看mysql相關(guān)進(jìn)程 ps aux |grep mysqld
殺掉mysql所有相關(guān)進(jìn)程 kill -9 進(jìn)程號(hào)
重新查看mysql進(jìn)程,如下表示進(jìn)程殺掉成功
8溪猿、重啟mysql服務(wù)
service mysqld restart
9钩杰、執(zhí)行其他命令:show databases; 提示如下錯(cuò)誤
You must reset your password using ALTER USER statement
before executing this statement.
10、重新將密碼設(shè)置一遍即可
mysql > set password = password ('newpassword');
其他命令:
1诊县、查看端口號(hào)是否已經(jīng)打開(kāi)
lsof -i:3306
2讲弄、查找文件或者文件夾命令
find src type filename filetype 如:find / -name my.cnf 或者 find /var -name mysql -d
3、編輯文件
vi/vim 文件名 進(jìn)入文件之后按 i 可對(duì)文件進(jìn)行編輯操作 :w保存文件 :q退出文件 :wq保存退出
4依痊、查看文件尾部
tail -row 如 tail -50