MySQL是一個(gè)廣泛使用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。但是,有時(shí)候在使用MySQL服務(wù)時(shí),我們可能會(huì)遇到MySQL服務(wù)一直拒絕訪問(wèn)的問(wèn)題。
造成MySQL服務(wù)拒絕訪問(wèn)的原因可能有很多,包括:
- 配置不正確。
- MySQL服務(wù)沒(méi)有啟動(dòng)。
- 端口被占用。
- 防火墻阻止了MySQL服務(wù)的訪問(wèn)。
下面我們來(lái)看看可能會(huì)遇到的一些問(wèn)題及其解決方法。
配置不正確
# 安裝MySQL的時(shí)候?qū)戝e(cuò)了密碼 $ mysql -uroot -p12345 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) # 密碼正確,但是把密碼加了引號(hào) $ mysql -uroot -p'12345' ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) # 密碼正確,但是大小寫寫錯(cuò)了 $ mysql -uroot -p12345 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解決方法:
- 檢查MySQL的配置文件(通常是/etc/my.cnf或者/etc/mysql/my.cnf),確保其中的用戶名和密碼正確。
- 如果是在命令行登錄MySQL,確保密碼沒(méi)有加引號(hào),且大小寫正確。
MySQL服務(wù)沒(méi)有啟動(dòng)
$ sudo systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor pres Active: inactive (dead) # MySQL服務(wù)處于停止?fàn)顟B(tài) [...] $ sudo systemctl start mysql # 啟動(dòng)MySQL服務(wù)
解決方法:
啟動(dòng)MySQL服務(wù)。
端口被占用
$ sudo lsof -i:3306 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 2183 mysql 10u IPv4 49877 0t0 TCP localhost:mysql (LISTEN)
解決方法:
一般情況下,只要重啟MySQL服務(wù)就可以解決這個(gè)問(wèn)題。
防火墻阻止了MySQL服務(wù)的訪問(wèn)
$ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
解決方法:
打開防火墻的3306端口。