我正在 Raspberry Pi 上使用 MariaDB 运行 MySQL 服务器。我预计数据库会增长,因此我想将数据库移动到 ext4 格式的外部驱动器。到目前为止,我一直在遵循这个在线教程,但最终我systemctl start mariadb
失败了。查看systemctl status
,我看到以下错误:
[Warning] Can't create test file /media/pi/external_drive/mysql-data/raspberrypi.lower-test
[ERROR] Aborting
MariaDB 故障排除指南关于这个错误有这样的说法:
这通常是写入该文件的目录的权限错误。确保整个 datadir 由运行 mysqld 的用户(通常是 mysql)拥有。确保目录的所有者具有“x”(执行)目录权限。确保 datadir 向上的所有父目录对所有(用户、组和其他)都具有“x”(执行)权限。
我已经这样做了,并且使用该命令sudo -u mysql /bin/bash
我能够/media/pi/external_drive/mysql_data
以 mysql 用户身份在目录中创建、编辑和保存文本文件,但错误仍然存在。
编辑:这是由于目录名称中的拼写错误(破折号而不是下划线)造成的。现在错误消失了,但 mariadb 仍然没有启动:
mars 08 10:41:26 raspberrypi mysqld[8607]: 2021-03-08 10:41:26 0 [Note] /usr/sbin/mysqld (mysqld 10.3.27-MariaDB-0+deb10u1) starting as pr
mars 08 10:41:26 raspberrypi mysqld[8607]: 2021-03-08 10:41:26 0 [Warning] Could not increase number of max_open_files to more than 16384
mars 08 10:41:30 raspberrypi systemd[1]: mariadb.service: Main process exited, code=exited, status=7/NOTRUNNING
mars 08 10:41:30 raspberrypi systemd[1]: mariadb.service: Failed with result 'exit-code'.
mars 08 10:41:30 raspberrypi systemd[1]: Failed to start MariaDB 10.3.27 database server.
答案1
第一个错误是由于拼写错误(破折号而不是下划线)造成的。修复此问题后,我可以通过将以下内容添加到 my.cnf 来删除“无法将 max_open_files 的数量增加到超过 16384”: open_files_limit = 10000