當前位置:首頁 » 操作系統 » 資料庫啟動失敗

資料庫啟動失敗

發布時間: 2022-05-15 14:23:17

sql 資料庫連接伺服器失敗是什麼原因

一、mysqld 進程沒有正常運行遇到這種情況首先到伺服器上看看 mysqld 進程是否活著,採用的命令:
二、客戶端不能和進程 mysqld 通信如果 MySQL 伺服器上的 mysqld 進程運行正常,我們再看看客戶端能不能和 mysqld 進行通信,使用下面的命令進行網路連通的測試:telnet localhost 3306
如果本地能通,再到客戶端的機器上把 localhost 換成 MySQL 伺服器的 ip 地址進行測試。如果不能通,通常有兩種原因,一種原因是 OS 或網路的問題,或者是防火牆;另一種原因是 mysqld 自身根本沒有偵聽客戶端的連接請求, mysqld 啟動後對於客戶端的偵聽是分三種情況。
第一種情況
是使用參數 --skip-networking 跳過偵聽客戶端的網路連接,用下面的命令我們可以看到 MySQL 根本沒有偵聽 3306 埠。
第二種情況
使用參數 --bind-address 後面增加對客戶端訪問 IP 地址的限制,例如只偵聽本地的連接
三、賬戶密碼的問題最後一種情況是賬戶密碼的問題,應付這種情況我們有個有力的工具就是查看 MySQL 的 error log, error log 記載信息的詳細程度上由參數 --log-error-verbosity 進行控制的

② 資料庫未啟動或連接失敗是怎麼回事,如何去核實

你好!
先確認資料庫的服務有沒啟動,開始--控制面板--管理工具--服務,再找到對應的資料庫服務把它設置為自動啟動,然後在啟動.如果不行的話就很有可能是資料庫壞了,最好是重裝.
希望對你有所幫助,望採納。
記得給問豆啊!

③ 魔獸世界單機版啟動資料庫失敗

先試試右鍵選擇文件-以管理員身份運行,試試看
行不行

不行的話點擊
開始-對話框中輸入cmd-輸入lusrmgr.msc
在彈出的
本地用戶和組
選擇
用戶,雙擊右側的
administrator
常規中,把
賬戶已禁用
勾選去掉,並設置密碼
返回之前的,重新
開始--cmd--在命令行中輸入
runas
/user:administrator
cmd.exe
完成後重新雙擊或者右鍵以管理員身份,運行程序

④ 如何查找資料庫啟動失敗原因

重啟了一次伺服器後,使用> mysql -u root -p登陸是出現下面的錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
於是,我檢察mysql狀態:
> /etc/rc.d/init.d/mysqld status
顯示stop,未運行。
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
MySQL Daemon failed to start.
Starting mysqld: [ FAILED]
>ps -ef | grep mysql
root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql 只有這一條
至此,我可以確定,mysql無法啟動。
我開始排錯,首先發現/tmp/mysql.sock不存在
>vim /etc/my.cnf
socket=/var/lib/mysql/mysql .sock
/var/lib/mysql/mysql .sock同樣不存在
>find / -name mysql.sock
顯示為空,未查詢到mysql.sock文件,mysql.sock文件丟失了。
我看網上有人說mysql.sock套接字文件可以簡單地通過重啟伺服器重新創建得到它,
>init 6 重啟命令
重啟後發現錯誤還是那樣,沒有任何改變,mysql.sock重啟伺服器未自動生成。
接下來了解到mysql.sock是一個臨時文件,在mysql啟動時會自動生成,我的伺服器未啟動,自然就沒有mysql.sock文件。
我嘗試安全啟動模式,mysqld_safe試圖通過工作目錄找到伺服器和資料庫,但mysqld_safe還是失敗。
>mysqld_safe &
Starting mysqld daemon with databases from ....../mysql/var
STOPPING server from pid file .......pid

130802 15:17:11 mysqld ended
各種命令嘗試無效的情況下,我開始了本次最大的收獲----學會看錯誤日誌。

在錯誤日誌中,啟動失敗的原因極為明顯,file 『./mysql-bin。000004』 not found,failed to open!
mysql開啟了bin日誌功能,到資料庫根目錄查看該文件是存在的,可能是文件許可權的問題。
>chown -R mysql:mysql /....../mysql/var
>mysqld_safe &
>/etc/rc.d/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK]

成功啟動了!~

此時mysql.sock文件出現了,在/var/lib/mysql/mysql .sock。如下圖所示,以」s」開頭的文件都是socket文件。

> mysql -u root -p
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/tmp/mysql.sock
解決這個錯誤很簡單,因為/tmp/mysql.sock不存在,用這樣的方法:
>ln -s /var/lib/mysql/mysql .sock /tmp/mysql .sock

以」l」開頭的文件是軟鏈接文件。或者可以通過修改/etc/my.cnf文件來修正它。

成功解決了!~
就是這樣一個問題折騰了我這么久,錯誤日誌讓它無所遁形。查看錯誤日誌可以明確問題所在,而不是像我之前那樣盲目的找錯。
俗話說授人以魚不如授人以漁,學會查看日誌,你也可以方便快捷的解決問題了。
錯誤使人進步,我與這個錯誤斗爭了四個多小時,對linux的「一切皆文件」這句話有了更深的了解,對我學習文件系統管理(目錄樹)有很大的幫助,讓我的思維真正的從windows操作系統轉向成linux系統。並最終解決問題,很有成就感,我喜歡這種感覺

⑤ 打開資料庫失敗,登陸不了怎麼辦

無法打開用戶默認資料庫,登錄失敗,這也是SQL Server使用者常見的問題之一。在使用企業管理器、查詢分析器、各類工具和應用軟體的時候,只要關繫到連接SQL Server資料庫的時候,都有可能會碰到此問題。
一、原因
登錄帳戶的默認資料庫被刪除。
二、解決方法:
(一)、使用管理員帳戶修改此帳戶的默認資料庫
1、打開企業管理器,展開伺服器組,然後展開伺服器
2. 展開"安全性",展開登錄,右擊相應的登錄帳戶,從彈出的菜單中選擇,屬性
3、重新選擇此登錄帳戶的默認資料庫
(二)、若沒有其他管理員登錄帳戶,無法在企業管理器里修改,使用isql命令行工具
isql /U"sa" /P"sa的密碼" /d"master" /Q"exec sp_defaultdb N'sa', N'master'"
如果使用Windows驗證方式,使用如下命令行,將默認資料庫改成非丟失的資料庫:
isql /E /d"master" /Q"exec sp_defaultdb N'BUILTIN\Administrators', N'master'"

⑥ Windows伺服器MySQL啟動失敗怎麼辦

方法1.
可以通過命令啟動

電腦的「開始」菜單欄,找到「運行」cmd,在運行cmd框中直接輸入:net
start
mysql
方法2.
控製版面-管理工具-服務

⑦ SQL資料庫啟動失敗

檢查下控制面板——管理工具——服務,裡面的SQLSERVER 有沒有啟動。重新啟動,如果文件損失造成啟動失敗,建議備份資料庫,重新下SQL

⑧ 幫我看下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,採用排除法逐步找出錯誤的參數。

⑨ SQL資料庫無法啟動

故障處理
移除當前使用的 redo log 文件,然後可以試著啟動資料庫,結果啟動失敗!
提示:
[ERROR] InnoDB: Page [page id: space=0, page number=0] log sequence number 178377412422 is in the future! Current system log sequence number 165909011496.
這樣的錯誤,這是因為 MySQL writer 線程按照配置的時間間隔以 page 為單位刷新 buffer 數據到磁碟。當數據刷新到磁碟的時候,新寫入磁碟的 page 包含了較新的 LSN,此時系統 system 表空間頭的 LSN 並沒有同步更新,通常這是檢查點線程的工作。在正常的崩潰恢復中,MySQL 可以藉助 redo log 來進行前滾和回滾,但是此時 redo log 已經被我們刪掉了,MySQL 無法進行恢復操作。此時,我們設置 innodb_force_recovery=3 來強制啟動 MySQL,仍然啟動不成功,改成 4 後啟動了!
再使用 mysqlmp 導出備份,結果噩夢又降臨了!MySQL 又 crash 了。
提示:
InnDB: Failed to find tablespace for table......
設置參數 innodb_force_recovery=5,資料庫仍然啟動失敗,再設置成 6,啟動成功!用 sqlmp 順利把數據備份出來了!
再初始化資料庫,把剛剛備份的資料庫導入,資料庫恢復成功完成!

參數說明
這里的關鍵是設置 innodb_force_recovery 參數,對應這個參數的說明如下:
1. SRV_FORCE_IGNORE_CORRUPT:忽略檢查到的 corrupt 頁;
2. SRV_FORCE_NO_BACKGROUND:阻止主線程的運行,如主線程需要執行 full purge 操作,會導致 crash;
3. SRV_FORCE_NO_TRX_UNDO:不執行事務回滾操作;
4. SRV_FORCE_NO_IBUF_MERGE:不執行插入緩沖的合並操作;
5. SRV_FORCE_NO_UNDO_LOG_SCAN:不查看重做日誌,InnoDB 存儲引擎會將未提交的事務視為已提交;
6. SRV_FORCE_NO_LOG_REDO:不執行前滾的操作。

熱點內容
安卓游戲機在哪裡下載 發布:2024-10-10 21:23:48 瀏覽:461
網上買了伺服器怎麼在電腦連接失敗怎麼辦 發布:2024-10-10 21:18:35 瀏覽:962
安卓息屏壁紙在哪個文件夾 發布:2024-10-10 21:11:58 瀏覽:407
eer資料庫 發布:2024-10-10 21:06:08 瀏覽:709
ftp匿名用戶上傳 發布:2024-10-10 21:06:06 瀏覽:754
凱越原始密碼多少 發布:2024-10-10 21:06:04 瀏覽:193
捏脆泥解壓 發布:2024-10-10 20:56:25 瀏覽:705
開瀏覽器顯示腳本錯誤信息 發布:2024-10-10 20:48:14 瀏覽:11
wii安卓模擬器怎麼用 發布:2024-10-10 20:47:35 瀏覽:501
制度宣傳視頻腳本 發布:2024-10-10 20:34:05 瀏覽:576