問題與環境
linux的環境為 kali 2020.4
php版本為:PHP 7.4.11
安裝的typecho版本為:typechov1.0
遇到的問題是:在typecho初始化時,資料庫的資訊都填寫完整,在MariaDB中已經創建了typecho資料庫且已經開啟MariaDB遠程管理功能的時候,仍然出現“無法連接資料庫”的問題,截圖如下:
注:MariaDB為kali自帶的資料庫,有關該資料庫的詳細內容請看https://baike.baidu.com/item/mariaDB/6466119?fr=aladdin)

我本機的ip地址如下:

解決方案:
將資料庫初始化資訊中的“資料庫地址改寫為本機的ip地址,而不是回環地址(localhost與127.0.0.1都不行)

點擊下一步,你會發現不再報錯:“無法連接資料庫的”
接下來說是讓你在網站根目錄的下面手動創建一個 config.inc.php檔案,內容如方框中的代碼:演示如下



解釋原因:
我們首先要了解一下mysql.sock的作用(這里只是簡單講解,具體請自行百度):
其實MySQL有兩種來連接方式,一種是通過TCP/IP,就是用-h引數指定要連接的mysqlserverI的IP,另一種是套接字socket,在這里就是mysql.sock檔案,其作用是程式與mysqlserver處于同一臺機器,發起本地連接時可用,例如你無須定義連接host的具體IP地址,只要為慷訓localhost就可以,即host為localhost,127.0.0.1時自動使用mysql.sock
至此,顯然typecho在連接資料庫的時候默認使用的就是這個方法,但是我發現我的 /var/lib/mysql 下并沒有這個檔案,于是我上網查找資料好久,有的說是mysql.sock默認會在/tmp下,只需要在/var/lib/mysql下建立一個鏈接即可,又或者是重啟一下mysql該檔案就會自動生成即可,但是我發現都沒有用,仍然沒有該檔案(可能是我這個mysql是kali2020.4自帶的原因吧),如圖:


沒辦法,由于網上好多博客都一樣,都是一樣的方法找mysql.sock檔案,我也不想找了,正當我準備錘電腦時,忽然想到,mysql不是有兩種連接方法嗎?那我就不用這個方法唄,用tcp/ip的方式連接mysql資料庫,于是我就把localhost 改為了 本機ip(192.168.43.174),讓typecho不使用默認的連接方法,而使用tcp/ip連接方法,這樣就可以跳過mysql.sock檔案了嗎,結果證明這樣做是可行的,我的天,typecho終于裝好了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/288001.html
標籤:其他
下一篇:精簡版-Linux常用命令
