首页 > 数据库 >宝塔面板mysql无法启动问题如何解决

宝塔面板mysql无法启动问题如何解决

时间:2024-04-17 11:44:06浏览次数:26  
标签:宝塔 启动 mysql server 复制 Mysql 面板 root

宝塔面板无法启动的问题和解决

如果你的宝塔里面的mysql无法启动了,请先看是不是以下的配置问题

1.是不是你的3306端口被占用了导致mysql无法启动

2.是不是磁盘空间不足导致的无法启动 如果都不是这些问题再继续向下看

常见问题:

1、Mysql安装好后或迁移文件后无法启动

2、Mysql异常关闭后无法启动

3、Mysql停止后无法启动

一、Mysql安装好后或迁移文件后无法启动

在Mysql刚刚安装好或者迁移文件后无法启动我们一般先检查Mysql的数据目录所有者是否mysql用户。

例如我们宝塔环境是:

  • Mysql数据目录: /www/server/data

  • Mysql程序目录:/www/server/mysql

  • Mysql主配置文件:/etc/my.cnf

   首先检查硬盘分区使用率是否已经满了   执行下面的命令查看分区容量使用率

1

df -h

执行下面的命令查看分区inode使用率

1

df -i

使用ll命令查看目录详细信息

1

2

3

4

5

6

[root@test server]# ll /www/server/

total 24

drwxr-x---   6 root     root     4096 Oct 30 17:51 data

drwx--x--x  14 root     root      182 Oct 16 18:01 docker

drwxrwxr-x  12 root     root      326 Oct 24 18:06 mysql

drw-------. 14 root     root     4096 Oct 24 18:06 panel

可以看到data目录所有者是root,这时候启动mysql报错如下

1

2

[root@test server]# /etc/init.d/mysqld start

Starting MySQL. ERROR! The server quit without updating PID file (/www/server/data/test.com.pid).

我们先修改该目录的所有者为mysql

1

chown -R mysql.mysql data

启动数据库

1

/etc/init.d/mysqld start

可以看到已经启动成功了

1

[root@test server]# /etc/init.d/mysqld startStarting MySQL... SUCCESS!

还不行检查你的selinux状态

1

getenforce

如果返回值不值disable

运行命令暂时停止selinux

1

setenforce 0

再尝试启动

二、Mysql异常关闭后无法启动

Mysql异常关闭是我们经常遇到的情况,重启服务器时没有预先关闭mysql,服务器断电,使用kill命令杀死mysql进程等都属于异常关闭,异常关闭往往会带来一些不可预料的后果。

一般情况下异常关闭会导致二进制日志文件损坏

执行

1

2

rm -f /www/server/data/ib_logfile0

rm -f /www/server/data/ib_logfile1

删除日志后再尝试启动

遇到错误 Another MySQL daemon already running with the same unix socket 时

可以尝试删除sock文件后再启动

1

2

rm -f /tmp/mysql.sock*

rm -f /tmp/mysqlx.sock*

遇到错误 [ERROR] InnoDB: Cannot allocate memory for the buffer pool 时

表示当前mysql启动需要的内存不够,我们需要调整

1

2

innodb_buffer_pool_size

key_buffer_size

的内存

三、Mysql停止后无法启动

Mysql正常停止后无法启动的原因

1.显示停止成功实际停止失败,有残留进程,我们可以用ps来检查

1

ps -ef|grep mysql

2.磁盘空间满了导致mysql无法启动

3.有时手动删除了binlog日志重启mysql也会导致无法启动,在错误日志里可以找到

File ‘./mysql-bin.000001’ not found 字样

解决方法:

注释主配置文件的配置

找到

log-bin=mysql-bin

改为

#log-bin=mysql-bin

或者清空

mysql-bin.index

以下两种解决方案,根据自身情况自选尝试 1,通过改etc/init.d/mysqld解决

然后还有一种是我个人通过查帖子解决这个问题的方法首先

1.第一步是先找到etc/init.d/mysqld这个文件然后打开找到start部分

宝塔面板mysql无法启动问题如何解决

刚打开没有蓝色框的这一串代码,为其加上然后保存关闭

2.打开宝塔终端直接输入service mysqld start这行代码让其mysql进行运行

3.然后再去看mysql就已经开始运行了

2通过删除一个文件解决

有些无法启动的mysql可能是自己并没有启动主从复制,但是在/www/server/data下莫名其妙多出来了一个mysql-bin.index文件,这时候把这个文件删掉然后再启动也可以启动成功,但是我的用这个就不行,大家根据自己的情况选择解决方案

最后还是要说不要在mysql性能调整的时候进行重启或者关闭都很容易出错的

原文地址:https://www.php.cn/faq/553567.html

标签:宝塔,启动,mysql,server,复制,Mysql,面板,root
From: https://www.cnblogs.com/zhangzhijian/p/18140239

相关文章

  • MySQL 8:备份&导入【备忘】
    mysql8.0.25、8.0.32--- 序章使用命令(mysqldump)备份旧数据库的数据——sql文件。使用命令(mysql>source)导入备份数据到新数据库。 mysqldump导出为sql文件使用只导出数据不导出结构:整个数据库mysqldump-t数据库名-uroot-p>xxx.sql数据库中某个表my......
  • 如何使用pgloader迁移MySQL数据库至openGauss
    pgloader介绍pgloader是一个数据导入工具,使用COPY命令将数据导入到PostgreSQL。pgloader有两种工作模式,一种是从文件导入,一种是迁移数据库。pgloader在两种情况下都使用PostgreSQL的COPY协议高效的传输数据。openGauss兼容PostgreSQL的通信协议以及绝大部分语法,可......
  • PR2024教程-2.1 欢迎导入面板
    欢迎界面(之前称之为项目界面):新建项目(点开后就是新建项目界面)打开项目(打开后就是让你找到对应项目路径打开)最近使用项(快速打开最近使用过的项目)筛选(快速定位找到你要的项目筛选查找标题内的内容)小知识:鼠标经过最近使用项上可以显示当前项目的目录所在最近使用......
  • MySQL存储引擎
    MySQL存储引擎存储引擎就是存储数据,建立索引,更新查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型。查看存储引擎showengines;查看数据库默认存储引擎showvariableslike'%storage_engine%';MySQL存储引擎特性MySQL5.5之前......
  • MySQL的架构以及SQL的执行过程
    MySQL主要分为Server层和存储引擎层Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块binlog日志模块。存储引擎:主要负责数据的存储和读取,采用可以替换的插件式架构......
  • MySQL体系结构
    MySQL体系结构连接层客户端连接器连接器负责与客户端建立连接,处理客户端发送的请求,并将结果返回给客户端。连接池连接池用于管理数据库连接,提高数据库的并发处理能力和性能。服务层管理工具管理工具用于监控和管理MySQL服务器,包括配置管理、性能调优、安全管理等功能。S......
  • MySQL触发器
    MySQL触发器触发器是预先定义的一段SQL语句,当在某个表上执行INSERT/UPDATE/DELETE操作之前或之后,会自动执行触发器。创建触发器CREATETRIGGERtrigger_nameAFTER/BEFOREINSERT/UPDATE/DELETEONtable_nameFOREACHROWBEGIN--触发器操作的SQL语句END;查看触发器......
  • MySQL存储过程与函数
    MySQL存储过程与函数存储过程创建、调用、删除创建CREATEPROCEDURE存储过程名(参数列表)BEGIN--SQL语句END;调用CALL存储过程名(参数值);删除DROPPROCEDUREIFEXISTS存储过程名;函数创建、调用、删除创建CREATEFUNCTION函数名(参数列表)RETURNS返......
  • MySQL游标
    MySQL游标创建游标DECLAREcursor_nameCURSORFORselect_statement;使用游标OPEN光标OPENcursor_name;FETCH光标FETCHcursor_nameINTOvar_name[,var_name]...CLOSE光标CLOSEcursor_name;循环获取游标DECLAREemp_reaultcursorforselect*fromemp;D......
  • Mysql低版本中处理row_number()函数的适配问题
    在最近的项目中遇到了mysql8.0版本中row_number()函数在迁移数据库低版本mysql5.0版本无法使用的问题。具体sql如下:1SELECTDATE(a.CRETIFICATE_DATE)ASNAME,COUNT(*)ASCOUNTFROM2(SELECTCERTIFICATE_DATE,ENABLED,CERTIFICATION_STATE,ROW_NUMBER()over(PARTIT......