수퍼 유저에게는이 probelm을 해결하는 방법에 대한 단계별 지침이 있습니다.
다음은 동일한 작업을 수행하는 다른 지침입니다.
http://www.ubuntugeek.com/how-to-change-the-mysql-data-default-directory.html
여기에 다시 게시됩니다. 수퍼 유저 인 경우 원본에 대한 투표를하십시오.
권한에 대한 일반적인 혼란 후 문제는 내가 권한과 경로를 가지고 있지 않은 것이 아니라 AppArmor가 mysql이 새 위치를 읽고 쓰지 못하게한다는 것을 깨달았습니다.
이것은 내 솔루션입니다.
먼저 MySQL을 중지하십시오. 따라서 이상한 일이 발생하지 않습니다.
$ sudo stop mysql
그런 다음 모든 데이터베이스 디렉토리를 새 홈으로 이동하십시오.
$ sudo mv /var/lib/mysql/<all folders> /new-mysql-dir/
파일을 이동하지 마십시오. mysql에 의해 생성되며 폴더 (데이터베이스)를 이동하십시오.
그런 다음 mysql이 새 폴더를 사용할 수 있도록 AppArmor에게 정중하게 요청하십시오.
$ sudo vim /etc/apparmor.d/usr.sbin.mysqld
라인 추가 :
/new-mysql-dir/ r,
/new-mysql-dir/** rwk,
그런 다음 mysql에게 datadir이 이동했음을 알리십시오.
$ sudo vim /etc/mysql/my.cnf
줄을 바꾸십시오 :
datadir=/var/lib/mysql
에:
datadir=/my-new-db-dir/
참고 : 데이터베이스 설정에 따라 innodb-data-home-dir 등을 변경해야 할 수도 있습니다.
그런 다음 AppArmor를 다시 시작하여 새 설정을 읽으십시오.
$ sudo /etc/init.d/apparmor restart
그리고 새로운 datadir을 사용하여 MySQL을 다시 시작하십시오 :
$ sudo start mysql
이것이 도움이되기를 바랍니다!