當前位置:首頁 » 密碼管理 » mysql錯誤5拒絕訪問

mysql錯誤5拒絕訪問

發布時間: 2022-10-30 01:53:37

A. 幫我看下Mysql為什麼啟動失敗 我該如何解決

一、無法訪問系統資源
MySQL 不能訪問啟動需要的資源是造成而 MySQL 無法啟動的一個常見原因,如:文件,埠等。由於 linux 中用於啟動 mysqld 進程的 mysql 用戶通常是不能登陸的,可以使用類似下面的命令檢查文件的訪問許可權。
sudo -u mysql touch /var/lib/mysql/b

找出問題後,修改對應文件或目錄的許可權或屬主後通常可以解決問題。但有時 mysql 用戶有訪問文件和目錄的許可權,但仍然會被拒絕訪問,例如下面這個例子:
mysql> system sudo -u mysql touch /home/mysql/data/a
mysql> create table t1 (
id int primary key,n varchar(10
) data directory
ERROR 1030 (HY000): Got error 168 from storage engine

測試說明 mysql 用戶有這個目錄的訪問許可權,但創建文件還是失敗,這種情況讓很多人困惑,這個時候通常是 mysqld 進程的訪問被 linux 的 selinux 或 apparmor 給阻止了,大家可以看到創建的表不是在 mysql 的默認目錄下面,因此 selinux 或 apparmor 的 policy 裡面沒有包含這個目錄的訪問許可權,此時只要對應的修改 policy 就行了,當然把 selinux 或 apparmor 停了也行。
有時雖然對系統資源有訪問的許可權,但系統資源已經被佔用:
mysqld --no-defaults --console --user mysql
2020-11-03T03:36:07.519419Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.19) starting as process 21171
2020-11-03T03:36:07.740347Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

這個故障產生的原因是另外一個 mysqld 進程已經啟動並佔用了對應的文件。

二、參數設置錯誤
參數設置錯誤造成 MySQL 無法啟動的原因也非常常見,此時先要檢查 MySQL 啟動時會調用的參數,下面的命令可以查詢 MySQL 啟動時調用參數文件的順序:
$ mysqld --verbose --help | grep "Default options " -A 1
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

知道了 MySQL 參數文件的調用順序,我們就可以檢查對應的參數文件,找出其中的錯誤,如果覺得參數文件的可讀性不強,可以使用下面的命令顯示 mysqld 程序將要調用的參數:
$ mysqld --print-defaults
/usr/sbin/mysqld would have been started with the following arguments:
......

注意這個命令顯示完參數後就退出,不會真正運行 mysqld。這個命令和 my_print_defaults mysqld 完全是等價的,只不過後者的顯示方式是一行一個參數。
然後開始對可疑的參數進行調試,我個人喜歡加的參數和順序如下:
1. 在 mysqld 後加上第一個參數 --no-defaults ,這個參數的作用是通知 mysqld 在啟動的時候不要讀任何參數文件;
2. 第二個參數是 --console,這個參數會把錯誤信息輸出到屏幕上,這個參數帶來的一個弊端是所有的信息都輸出到屏幕上,讓屏幕顯得比較亂,但對於我們調試卻是很方便的;
3. 第三個參數是 --log-error-verbosity=3,這個參數會顯示詳細的日誌;
4. 然後再在後面加上有把握的參數,可以一次只加一個參數,然後啟動 mysqld,採用排除法逐步找出錯誤的參數。

B. 在cmd管理員狀態下輸入net start mysql 提示拒絕訪問錯誤5

服務 Telnet 已被禁止 該服務允許遠程用戶登錄到此計算機並運行程序,並支持多種 TCP/IP Telnet 客戶,包括基於 UNIX 和 Windows 的計算機。如果此服務停止,遠程用戶就不能訪問程序,任何直接依靠它的服務將會啟動失敗。 到服務里把服務啟動就好了。方法: 打開:控制面板-》管理工具-》服務 將「已禁止」改為「自動」。 建議:最好將該服務關閉。

熱點內容
主播網站源碼 發布:2025-05-15 02:50:56 瀏覽:167
中文編程語言有哪些 發布:2025-05-15 02:48:59 瀏覽:535
配置中心應急流程有哪些 發布:2025-05-15 02:37:31 瀏覽:669
php宏定義 發布:2025-05-15 02:32:54 瀏覽:270
咸魚支付密碼哪裡改 發布:2025-05-15 02:32:53 瀏覽:520
存儲機箱 發布:2025-05-15 02:31:31 瀏覽:836
編程很累嗎 發布:2025-05-15 02:29:25 瀏覽:552
疫情期間訪問國外網路 發布:2025-05-15 02:24:24 瀏覽:247
我的世界網易版游戲伺服器 發布:2025-05-15 02:23:46 瀏覽:221
全球編程網站 發布:2025-05-15 02:22:55 瀏覽:334