2016-12-08 4 views
0

Ich benutze MySQL 5.7 und CentOS 7.2.MySQL 5.7 ändern datadir

Zuerst meine datadir Konfiguration in my.cnf/var/lib/mysql

Jetzt möchte ich datadir ändern.

Ich versuche hava zwei Möglichkeiten:

Zuerst kopiere ich alle Dateien und Verzeichnisse in/var/lib/mysql/home/Daten und chown -R mysql:mysql /home/data laufen. Aber wenn ich systemctl start mysqld laufen lasse, erhalte ich Fehlermeldung:

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 

Zweitens, ich bewegen/var/lib/mysql/home und ln -s /home/mysql mysql in/var/lib-Verzeichnis ausgeführt. Wenn ich systemctl start mysqld laufen lasse, erhalte ich Fehlermeldung:

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 

Wie kann ich damit umgehen?

+0

Ich hatte dieses Problem in Windows. Sobald ich die Protokolldatei gelöscht habe, wurde der Dienst ordnungsgemäß gestartet. ibdata1 wird die Protokolldatei sein, wenn Sie eine Sicherung haben, löschen Sie sie und versuchen Sie erneut, den Dienst zu starten. – Rajesh

+0

@Rajesh Ich habe versucht, alle 'ib_logfile' zu ​​löschen. Aber es funktioniert nicht. Danke vielmals. – lbear

+0

@ibear wo können Sie das beheben? –

Antwort