2016-12-08 2 views
0

Я использую MySQL 5.7 и CentOS 7.2.MySQL 5.7 изменить datadir

Во-первых, моя конфигурация каталогу_данных в my.cnf есть/вар/Lib/MySQL

Теперь я хочу изменить каталогу_данных.

Я Хава попробовать два способа:

Во-первых, скопировать все файлы и директории в/вар/Lib/MySQL в/дома/данных, и запустить chown -R mysql:mysql /home/data. Но когда я бегу systemctl start mysqld, я получаю сообщение об ошибке:

2016-12-08T16:33:38.206780Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable 
2016-12-08T16:33:38.206806Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable 
2016-12-08T16:33:38.206817Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 
2016-12-08T16:33:38.807398Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 
2016-12-08T16:33:38.807421Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
2016-12-08T16:33:38.807429Z 0 [ERROR] Failed to initialize plugins. 
2016-12-08T16:33:38.807436Z 0 [ERROR] Aborting 

Во-вторых, я перехожу/вар/Lib/MySQL к/домой и запустить ln -s /home/mysql mysql в/вар/каталог Lib. Когда я бегу systemctl start mysqld, я получаю сообщение об ошибке:

2016-12-08T16:48:28.958136Z 0 [ERROR] InnoDB: Operating system error number 13 in a file operation. 
2016-12-08T16:48:28.958165Z 0 [ERROR] InnoDB: The error means mysqld does not have the access rights to the directory. 
2016-12-08T16:48:28.958174Z 0 [ERROR] InnoDB: os_file_get_status() failed on './ibdata1'. Can't determine file permissions 
2016-12-08T16:48:28.958184Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 
2016-12-08T16:48:29.558751Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 
2016-12-08T16:48:29.558792Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 
2016-12-08T16:48:29.558806Z 0 [ERROR] Failed to initialize plugins. 
2016-12-08T16:48:29.558817Z 0 [ERROR] Aborting 

Как я могу справиться с этим?

+0

У меня была эта проблема в окнах. Как только я удалил файл журнала, служба запустилась правильно. ibdata1 будет файлом журнала, если у вас есть резервная копия, удалите его и попробуйте снова запустить службу. – Rajesh

+0

@Rajesh Я попытался удалить все 'ib_logfile'. Но это не сработает. Большое спасибо. – lbear

+0

@ibear, где вы можете это решить? –

ответ

0

эта проблема о разрешении подкаталога и вы должны редактировать этот файл /etc/apparmor.d/local/usr.sbin.mysqld /data/ r, /data/** rwk, не забыл, и вы должны найти ту же команду на CentOS, как этот

sudo service apparmor reload

об этой проблеме в убунту SYS и увидеть ссылку

https://askubuntu.com/questions/758898/mysql-wont-start-after-changing-the-datadir-14-04-mysql-5-7/795710#795710

happy day, baddy

Смежные вопросы