重定位到外部硬盘RPi后,MySQL无法启动

时间:2017-02-27 03:40:00

标签: mysql raspberry-pi

我正在尝试将我的Raspberry Pi中的MySQL数据库重新定位到外部硬盘驱动器,这样我就可以保留更大的数据库。 我对此知之甚少,所以如果这个问题太简单,我会道歉,但这是我到目前为止采取的步骤,正如RPi forum所建议的那样:

$ sudo /etc/init.d/mysql stop
$ sudo mkdir /path/to/new/datadir
$ sudo cp -R /var/lib/mysql/mysql /path/to/new/datadir
$ sudo nano /etc/mysql/my.cnf
datadir = /path/to/new/datadir
$ sudo chown -R mysql:mysql /path/to/new/datadir
$ sudo /etc/init.d/mysql start

不幸的是,现在我在尝试执行最后一行时遇到错误(如上所示):

$ sudo /etc/init.d/mysql start

当我尝试执行最后一行时,收到以下消息:

[...] Starting mysql (via systemctl): mysql.serviceJob for mysql.service failed.
See 'systemctl status mysql.service' and 'journalctl -xn' for details. failed!

我检查了journalctl -xn并被告知:No journal files were found

systemctl status mysql.service产生了以下错误:

mysql.service - LSB: Start and stop the mysql database server daemon
Loaded: loaded (/etc/init.d/mysql)
Active: failed(Result: exit-code) since Sun 2017-02-26 22:15:08 ET; 4 min 4 sec ago
Process: 12923 ExecStop=/etc/init.d.mysql stop (code=exited, status=0/SUCCESS)
Process: 14171 ExecStart=/etc/init.d.mysql start (code=exited, status=1/FAILURE)

附加信息:我移动了活动目录的文件路径中有一个空格,没有用引号括起来。如果我在它周围加上引号,我会在Process 13627处失败。

如果您有任何建议,请告诉我 - 谢谢!

2 个答案:

答案 0 :(得分:1)

检查复制的datadir文件夹的所有权。确保它归mysql用户和组所有。

使用命令:

ls -lah /path/to/copieddir

它应该是这样的:

drwxr-xr-x  7 mysql mysql 4.0K Mar  8 15:28 .
drwxr-xr-x 50 root  root  4.0K Jan 20 14:50 ..
drwx------  2 mysql mysql 4.0K Nov  1 15:36 mysql
drwx------  2 mysql mysql 4.0K Nov  1 15:36 performance_schema

如果你看到这个:

drwxr-xr-x  7 user user 4.0K Mar  8 15:28 .
drwxr-xr-x 50 root  root  4.0K Jan 20 14:50 ..
drwx------  2 user user 4.0K Nov  1 15:36 mysql
drwx------  2 user user 4.0K Nov  1 15:36 performance_schema

运行此命令:

sudo chown -R mysql:mysql /path/to/copieddir

答案 1 :(得分:0)

将ls与长开关(-l)一起使用以显示文件/文件夹权限:

ls -l /path/to/new/

尝试' man ls'有关ls命令和更多内容的更多详细信息,chmod和or chown也会引起关注。

哦和Unix文件权限 - https://en.wikipedia.org/wiki/File_system_permissions#Notation_of_traditional_Unix_permissions