关于seafile启动的问题解决

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

过了一个国庆,同事反映说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,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
安全 Oracle 关系型数据库
Weblogic11g安装部署-winserver篇
Weblogic11g安装部署-winserver篇
82 0
Weblogic11g安装部署-winserver篇
|
Windows
gitblit 服务启动不了
gitblit 服务启动不了
559 0
gitblit 服务启动不了
|
安全 Ubuntu
Ubuntu安装APM Server
1、下载 APM Server https://www.elastic.co/downloads/apm tar -xzvf apm-server-6.3.
2294 0
|
监控 关系型数据库 MySQL
Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)
一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 3.
2092 0