2. 服務器因搬家經歷壹次停機後,嘗試重啟 seafile 的服務,其中 seaf-server 服務啟動正常,啟動 seahub 服務的時候,提示:
1. seahub 服務提供壹種類似於 debug 的啟動方式,可詳細展現 seahub 服務啟動的過程,方法是在 seafile server 部署路徑下執行如下命令:
2. 通過詳細的輸出信息,可以看出問題是由於啟動腳本找不到 libmysqlclient_r.so.16 這個動態鏈接庫文件而導致的;
3. 查找系統中的 libmysqlclient 動態鏈接庫,顯示只有 libmysqlclient_r.so.18 版本的,沒有 libmysqlclient_r.so.16 版本的。
1. 根據網上提供的壹種方案,將 libmysqlclient_r.so.18 軟鏈為 libmysqlclient_r.so.16,然後嘗試啟動 seahub 服務,還是報同樣的錯誤;
2. 在另外壹臺部署了 CentOS 6.6 系統的服務器上找到了 libmysqlclient_r.so.16 動態鏈接庫文件,將其直接拷貝到了 seafile 服務器的 /usr/lib64/mysql/ 目錄下,然後嘗試通過 debug 方式啟動 seahub 服務,提示啟動成功;
3. 服務啟動成功,說明動態鏈接庫版本正確,但是通過 debug 方式啟動的 seahub 服務只綁定了 127.0.0.1 這個環回地址,無法提供服務,因此需要關閉現有 seahub 服務,然後通過常規方式重新啟動服務;
4. 服務全部啟動成功後,就可以通過 瀏覽器 或 客戶端 正常訪問 Seafile 了。
1. 同樣版本的 OS 中動態鏈接庫 libmysqlclient_r.so 版本出現不同,通常是因為升級過相應的組件而導致的;
2. 針對兩臺同為 CentOS 6.6 系統的服務器,具體對比了 mysql-client 的安裝版本:
EOF