NTFS 파티션에있는 MySql 데이터베이스 파일을 Ubuntu와 Windows (이중 부팅) 모두에서 사용하고 싶습니다. 작동합니까? 어떤 문제가 있습니까?
NTFS 파티션에있는 MySql 데이터베이스 파일을 Ubuntu와 Windows (이중 부팅) 모두에서 사용하고 싶습니다. 작동합니까? 어떤 문제가 있습니까?
답변:
예, 작동하지만 약간의 단점이 있습니다. MySQL은 플랫폼에서 동일한 파일 형식을 사용하므로 데이터 디렉토리를 공유하기 만하면됩니다. 한 가지 문제는 데이터 디렉토리에 우분투에서 mysql이 소유자 및 그룹으로 있어야한다는 것입니다. 또한 Windows는 대소 문자를 구분하지 않으며 Linux는 대소 문자를 구분하므로 모든 이름은 동일하게 유지하십시오 (이름은 소문자 또는 대문자이지만 혼합하지 마십시오).
처음부터 끝까지; 이미 설정 한 것이 있으면 설정에 맞게 약간의 조정이 필요할 수 있습니다.
sdXN
지금 전화하십시오 ).mysql 데이터 디렉토리를 Ubuntu에서 새 파티션으로 이동하십시오.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
사용 mv
권한 을 저장합니다.
새로운 mysql 디렉토리 만들기
sudo mkdir /var/lib/mysql
에 NTFS 파티션을 마운트하십시오 /var/lib/mysql
. NTFS 파티션을 만들 때 얻은 이름으로 장치 이름을 변경하십시오.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
부팅시 자동 마운트하려면 파티션 UUID 및 로케일을 찾아 편집하십시오 /etc/fstab
.
ls -l /dev/disk/by-uuid
locale -a
sudo gedit /etc/fstab
UUID={number_found_with_the_ls-l} /var/lib/mysql ntfs-3g uid=mysql,gid=mysql,umask=0077,locale={your_locale}.utf8 0 0
'datadir'경로 /etc/mysql/my.cnf
를 가리 키도록 변경하십시오./var/lib/mysql/mysql_data
mysql 서버를 시작하고 테스트하십시오.
Windows 구성 파일 ( my.ini
)을 편집하고 'datadir'을로 설정 하십시오 (Windows 에서 마운트 위치를 X:/mysql_data
대체 X:
하십시오).
UF.org의 주제 1442148에서 컴파일되었습니다 .
우분투 버전이 작동하고 있습니다. Windows가 없기 때문에 부분적으로 테스트되지 않았습니다.
lower_case_table_names=1
잘 사용 됩니다. 마운트 옵션이 없으면 이 버그가 발생했습니다 (IMHO는 실제로 버그입니다).
이전의 Windows 전용 환경에 Linux 파티션을 추가 한 경우 약간의 조정만으로 데이터베이스를 사용할 수 있습니다. 여기에 긴 버전 , 짧은 버전 :
mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
시작시 실행 해야 합니다 ( /media/windows
fstab 을 사용 하여 Windows 드라이브를 마운트한다고 가정 ).
innodb의 로그 크기 확인을 우회하려면 우분투 파티션에 대한 innodb 로그를 이동해야합니다. 에서 my.cnf
, 추가 innodb_log_group_home_dir = /var/log/mysql
로그는 MySQL의 오류 로그에 다음 갈 정도로.