Tôi muốn sử dụng trong cả Ubuntu và Windows (khởi động kép) các tệp cơ sở dữ liệu MySql của tôi nằm trên phân vùng NTFS. Nó sẽ làm việc chứ? Có vấn đề gì không?
Tôi muốn sử dụng trong cả Ubuntu và Windows (khởi động kép) các tệp cơ sở dữ liệu MySql của tôi nằm trên phân vùng NTFS. Nó sẽ làm việc chứ? Có vấn đề gì không?
Câu trả lời:
Vâng, nó hoạt động nhưng với một số quirks. MySQL sử dụng cùng một định dạng tệp trên các nền tảng, vì vậy tất cả những gì bạn cần là chia sẻ thư mục dữ liệu. Một vấn đề là thư mục dữ liệu cần phải có mysql là chủ sở hữu và nhóm trong ubfox. Và Windows không phân biệt chữ hoa chữ thường và Linux phân biệt chữ hoa chữ thường, vì vậy hãy giữ tất cả các tên đồng nhất: cả chữ thường hoặc chữ hoa nhưng không trộn lẫn chúng.
Từ đầu đến cuối; nếu bạn đã có những thứ được thiết lập, điều này có thể cần một số điều chỉnh để phù hợp với thiết lập của bạn:
sdXN
ngay bây giờ).Di chuyển thư mục dữ liệu mysql từ Ubuntu sang phân vùng mới.
mkdir /{mountpoint}/mysql_data
sudo mv /var/lib/mysql /{mountpoint/mysql_data
sử dụng mv
tiết kiệm quyền.
Tạo một thư mục mysql mới
sudo mkdir /var/lib/mysql
Gắn kết phân vùng NTFS tại /var/lib/mysql
. Thay đổi tên devicename thành những gì nó nhận được khi bạn tạo phân vùng NTFS.
sudo mount /dev/{sdXN} /var/lib/mysql -t ntfs-3g -o uid=mysql,gid=mysql,umask=0077
Để tự động đếm khi khởi động, tìm phân vùng UUID, định vị và chỉnh sửa /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
Thay đổi đường dẫn 'datadir' /etc/mysql/my.cnf
để trỏ đến/var/lib/mysql/mysql_data
Bắt đầu máy chủ mysql và kiểm tra nó.
Chỉnh sửa tệp cấu hình Windows ( my.ini
) và đặt 'datadir' thành X:/mysql_data
(thay thế X:
cho nơi bạn gắn kết nó trong Windows).
Tổng hợp từ chủ đề 1442148 trên UF.org .
Tôi đã có phiên bản Ubuntu hoạt động; Vì vậy, một phần chưa được kiểm tra vì tôi không có Windows
lower_case_table_names=1
nó hoạt động tốt. Không có tùy chọn gắn kết của bạn, tôi gặp phải lỗi này (IMHO thực sự là một lỗi).
Nếu bạn đã thêm phân vùng linux vào môi trường chỉ có cửa sổ trước đó, bạn có thể sử dụng cơ sở dữ liệu tại chỗ chỉ với một số điều chỉnh nhỏ. Phiên bản dài tại đây , phiên bản ngắn:
Bạn sẽ cần mount --bind '/media/windows/ProgramData/MySQL/MySQL Server 5.5/data' /var/lib/mysql
chạy khi khởi động (giả sử bạn gắn ổ đĩa windows của mình vào /media/windows
sử dụng fstab).
Để kiểm tra kích thước nhật ký của innodb, bạn sẽ cần di chuyển nhật ký innodb cho phân vùng ubfox. Trong my.cnf
, thêm innodb_log_group_home_dir = /var/log/mysql
để các bản ghi đi bên cạnh nhật ký lỗi mysql.