linux - 在外置硬盘上启动mariadb服务器问题

标签 linux mariadb hard-drive

我正在尝试在我的树莓派上启动本地 mariadb 服务器。我已经将 datadir 更改为指向外部硬盘驱动器,而且我之前已经让它工作了(与其他 pi's)。

但是,现在当我使用这个特定的 pi 并输入

sudo service mariadb start

我明白了

Job for mariadb.service failed because the control process exited with error code.
See "systemctl status mariadb.service" and "journalctl -xe" for details.

当我检查 journalctl -xe 时,我得到了

-- The unit mariadb.service has entered the 'failed' state with result 'exit-cod
Oct 07 09:08:25 BLUE systemd[1]: Failed to start MariaDB 10.3.15 database server
-- Subject: A start job for unit mariadb.service has failed

进一步探索,我发现我为此服务器指定的目录中的 ib_buffer_pool 似乎已损坏?

为我得到的这个特定数据目录输入 ls-l

ls: cannot access 'ib_buffer_pool': Bad message
total 110628
-rwxrwxrwx 1 pi pi    16384 Oct  7 08:34 aria_log.00000001
-rwxrwxrwx 1 pi pi       52 Oct  7 08:34 aria_log_control
-rwxrwxrwx 1 pi pi        0 Jul  1 06:34 debian-10.3.flag
-????????? ? ?  ?         ?            ? ib_buffer_pool
-rwxrwxrwx 1 pi pi 12582912 Jul  9 13:38 ibdata1
-rwxrwxrwx 1 pi pi 50331648 Jul  9 13:38 ib_logfile0
-rwxrwxrwx 1 pi pi 50331648 Jul  1 06:34 ib_logfile1
-rwxrwxrwx 1 pi pi        0 Jul  1 06:34 multi-master.info
drwxrwxrwx 2 pi pi     4096 Jul  2 10:13 mysql
-rwxrwxrwx 1 pi pi       16 Jul  1 06:34 mysql_upgrade_info
drwxrwxrwx 2 pi pi     4096 Jul  2 10:13 performance_schema
drwxrwxrwx 2 pi pi     4096 Jul  2 12:49 test_db

那些问号吓坏了我...尝试删除 ib_buffer_pool 并一遍又一遍地得到这个“坏消息”。

为了让这个设置在我的其他 pi 上工作,我必须使用 sudo chmod -R a+rwX directory/更改权限,我也为这个 pi 做了这个,以为这可能是一个权限问题,但我检查了包含文件夹都是rwxrwxrwx也...

有谁知道可能发生了什么以及如何解决这个问题,以便我可以在这个 pi 上启动本地 mariadb 服务器?

注意我确实有一个 mariadb 服务器在另一个 pi 上成功运行,这个 f-ed up pi 通过以太网连接到我可以连接到另一个 pi 的 mariadb 服务器,这个 f-ed pi 来操作数据等等,没问题。但是我也想在这个 f-ed pi 上运行一个本地 mariadb 服务器(这样它就可以管理一个位于 ITS 各自硬盘上的数据库)......这种目标是不可能的和/或为什么我的 ib_buffer_pool 有 ??? ??? ???当我尝试启动这个本地 mariadb 服务器时,我得到了退出代码?仅供引用

非常感谢

最佳答案

好吧,以防万一其他人偶然发现这个...

没有正确修复它,但是

问题出在 ib_buffer_pool 文件损坏上。

让它工作(但我不认为这是一个很好的长期修复) 我刚刚将 ib_buffer_pool 文件所在的目录重命名为“directorynameCORRUPTED” 然后创建一个名为“directoryname”的新目录 并将除 ib_buffer_pool 之外的“directorynameCORRUPTED”中的所有文件复制到此“directoryname”目录中

它奏效了。所以这是一个解决方法......但仍然想知道如何处理那些?????损坏的文件为什么会出现?麻烦....

关于linux - 在外置硬盘上启动mariadb服务器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58270520/

相关文章:

linux - 在一个命令中更改目录并执行文件

c++ - Linux下USB Missile Launcher编程

c++ - 我可以通过链接此 dl 从动态库加载函数,但如果不链接此 dl,我无法在代码中使用 'dlsym' 加载它

php - 显示已读和未读通知

检查硬盘上的坏扇区

linux - 变量/参数扩展中的字符串项

mysql - 在 MySQL 中选择并更新几行而不发生冲突

mysql - SQL - 每个名字一行

java - 对三个不同的应用程序给予同等的优先级

c - SCSI 读取 10 与读取 16