关于seafile启动的问题解决

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

过了一个国庆,同事反映说seafile服务挂掉了,无法正常连接。

刚才解决了一下,把相关问题简要记录一下:

1.首先连接阿里云,获得相关IP地址(如果已知IP地址,则不需要该步骤)

2.通过xshell或者其他ssh工具连接上去(此类工具很多,比如putty、secureCRT、MobaXterm Personal Edition等)

3.首次查看seafile进程是否正常: ps -ef | grep seafile ;

4.尝试启动seafile服务,并监控和检查相关log,看是否正常:

报错信息如下:

$ ./seafile.sh start
SQLException: Failed to start connection pool -- Access denied for user 'root'@'localhost' (using password: YES)
 raised in ConnectionPool_start at src/db/ConnectionPool.c:287
failed to run "ccnet-server -t"
5.在上面这一步报错,则相应需要解决该问题。
下面是一些解决步骤:
(1)查看相关log位置:vi /home/haochuang/Seafile/logs/seafile.log,更多log:
[root@AY140714154144069b22Z ~]# ls -la /home/tuyou/Seafile/logs
total 6236
drwxr-xr-x 2 root  root     4096 Oct 10 15:06 .
drwxrwxr-x 8 haochuang haochuang    4096 Oct 10 11:03 ..
-rw-r--r-- 1 root  root   213261 Oct 10 15:07 ccnet.log
-rw-r--r-- 1 root  root    24055 Oct 10 15:06 controller.log
-rw-r--r-- 1 root  root   222309 Oct 10 15:06 seafile.log
-rw-r--r-- 1 root  root  5892209 Oct 10 10:50 seahub_django_request.log
-rw-r--r-- 1 root  root        0 May 13 14:00 seahub.log
(2)检查磁盘空间是否足够:df -lh
(3)查看当前已经启动的seafile服务,通过  pgrep 命令 来检查 seafile/seahub 的进程是否在运行:
$ pgrep -f seafile-controller # 检查 seafile 进程是否在运行
$ pgrep -f "manage.py run_gunicorn" # 检查 seahub 进程是否在运行
 彻底杀掉相关服务,要强行杀死 seafile/seahub 进程,把上面的 pgrep 换成  pkill 命令即可:
$ pkill -f seafile-controller 
$ pkill -f "manage.py run_gunicorn"
$ pkill -f httpserver
重启seafile:
./seafile.sh restart # 停止当前的 seafile 进程,然后重启 seafile
./seahub.sh restart # 停止当前运行的 seahub 进程,并在 8000 端口重新启 seahub
 
(4)检查相关musql配置情况,并直接手动连接;
相关信息也可以查看seafile官网帮助信息: http://manual-cn.seafile.com/deploy/deploy/using_mysql.html
(5)重置mysql数据库账号密码,由于该机器上面我当时配置了seafile和redmine,端口分别为 3306 和 3307,担心会有影响的话,可以备份部分关键文件:
发现我的mysql连接时候报错信息如下:
 Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' 问题的解决
查了一下,发现这种问题需要强行重新修改密码,方法如下:

/etc/init.d/mysqld stop   (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit
 

(6)修改完成之后再次重启seafile,发现基本正常了。

(7)其他补充信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

关于该问题,在解决过程中,看到网上的朋友说有多种解决办法:

Red Hat Enterprise Linux 5服务器上mysql启动报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
原因1-启动命令错误:
我开始的时候直接输入命令:mysql start  
正确的启动命令是:
/etc/rc.d/init.d/mysql start


原因2-配置文件错误:
检查etc下面的my.cnf如下内容:
[client]
#password   = your_password
port     = 3306
socket     = /usr/mysql-data/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port     = 3306
socket     = /usr/mysql-data/mysql.sock


原因3-启动文件错误:
需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,
其中datadir=   ?     一行检查下!

原因4-前提是你在使用php连接时候报错!
在/etc/php.ini修改mysql.default_socket的值设置为:
mysql.default_socket=/var/lib/mysql/mysql.sock
回到终点设置个连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
(在/etc/php.ini中mysql.default_socket这个文件中,关于mysql.default_socket的值的说明是这样的,
;Default socket name for local MySQL connects. If empty, uses the built-in MySQL defaults.
这个值一开始是空的,也就是说,如果我们不主动去修改的话,php将会使用内建在mysql中的默认值)
 
另一篇文章:
Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' 问题的解决

这种问题需要强行重新修改密码,方法如下:

/etc/init.d/mysqld stop   (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit

pkill -KILL -t pts/0 可将pts为0的**用户(之前运行mysqld_safe的用户窗口)强制踢出
正常启动 MySQL:/etc/init.d/mysqld start   (service mysqld start)

注意:另外还遇到需要service mysql star才能启动service mysql stop才能停止。
还有直接使用mysql不能找到命令,错误为“bash: mysql: command not found”可以直接**mysql的安装目录中的bin文件夹跟绝对路径运行命令,还有的需要加./mysql 才能执行。
 
......
总之,其实很多问题乍一看,被蒙住了,但是只要静下心看一下,耐心去解决,其实很多问题并不是问题。
 

本文转自 念槐聚 博客园博客,原文链接:http://www.cnblogs.com/haochuang/p/4867356.html,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
957 1
minio查询文件夹下面内容只返回了当前文件夹
minio查询文件夹下面内容的时候,路径最后一定要带个/,不然就是查询的当前文件夹自己
|
前端开发 Android开发
使用Android Studio(AS)查看apk信息
使用Android Studio(AS)查看apk信息
863 0
使用Android Studio(AS)查看apk信息
|
应用服务中间件 nginx Docker
使用nginx进行http以及socket端口转发(快速提高docker开发效率)
本文介绍如何使用nginx进行http以及socket端口转发以快速提高docker开发效率
|
关系型数据库 MySQL 开发工具
NextCloud自建家用网盘
在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置FRPs,设置权限,开放端口。本地服务器拉取 `NextCloud` Docker镜像,并通过docker-compose进行容器部署,容器启动成功,通过FRPc链接到云主机,到这里就已经实现本地网盘服务可以通过公网访问。
539 0
|
消息中间件 Kubernetes 数据库
在k8S中,初始化容器(init container)概念原理是什么?
在k8S中,初始化容器(init container)概念原理是什么?
|
Web App开发 JavaScript 前端开发
浏览器推荐:从技术与体验角度的深入探讨
浏览器推荐:从技术与体验角度的深入探讨
553 0
|
存储 数据管理 数据处理
阿里云对象存储OSS收费价格表
2023阿里云对象存储OSS收费价格表,阿里云对象存储OSS包年包月和按量付费,存储包、流量包收费价格,OSS标准(LRS)存储包100GB优惠价33元、500GB存储包半年162元、OSS存储包40GB一年9元,OSS流量包100G 49元/月
6066 0
|
消息中间件 缓存 算法
Springboot----项目整合微信支付(引入延迟队列实现订单过期取消以及商户主动查单)
介绍了如何使用RabbitMQ实现订单过期自动取消以及如何采用RabbitMQ实现商户主动向微信支付后台查询订单状态,一石二鸟。
781 0
Springboot----项目整合微信支付(引入延迟队列实现订单过期取消以及商户主动查单)