Thay đổi đường dẫn datadir hiện có


20

Tôi muốn thay đổi datadirđường dẫn trong my.initập tin.

Đường datadirdẫn hiện có làC:/ProgramData/MySQL/MySQL Server 5.1/Data/

Kích thước C:ổ đĩa của tôi là 30 GB và thư mục dữ liệu MySQL đang chiếm 25 GB. Vì vậy, tôi muốn thay đổi datadirthành F:/naveen/data.

Điều này có thể không?

Máy của tôi đang chạy Windows Server 2003 .

Câu trả lời:


26

Từ đường dẫn của bạn, tôi có thể giả định một cách an toàn như sau:

  • Bạn đang chạy MySQL trong Windows
  • Bạn đã sử dụng MySQL MSI để cài đặt

Những gì bạn cần làm là thiết lập tệp my.ini

Khi cài đặt MySQL cho Windows bằng MSI, vị trí của my.ini dự kiến ​​sẽ là C:/ProgramData/MySQL/MySQL Server 5.1.

Vui lòng chạy như sau trong Cửa sổ DOS:

cd C:/ProgramData/MySQL/MySQL Server 5.1
dir *.ini

Bạn sẽ thấy một số tệp my.ini mẫu. Tuy nhiên, nếu không có tệp có tên my.ini trong thư mục đó, bạn phải tạo một tệp. Cho dù một tồn tại hay không, xin vui lòng chạy này:

cd C:/ProgramData/MySQL/MySQL Server 5.1
notepad my.ini

Nếu bạn được yêu cầu tạo ra nó, xin vui lòng làm như vậy.

Tiếp theo, tạo mục nhập sau trong tiêu đề nhóm [mysqld] trong my.ini:

[mysqld]
datadir=F:/naveen/data

Lưu my.ini

Tiếp theo, dừng mysql từ dòng lệnh DOS như thế này:

C:\> net stop mysql

Tiếp theo, tạo một bản sao của toàn bộ thư mục dữ liệu ở vị trí mới

C:\> xcopy "C:\ProgramData\MySQL\MySQL Server 5.1\data" F:\naveen\data /s

Bước cuối cùng, khởi động mysql

C:\> net start mysql

Hãy thử đăng nhập vào mysql. Khi bạn có thể đăng nhập vào mysql thành công, hãy chạy lệnh này:

show variables like 'datadir';

Nếu F:\naveen\datahiển thị dưới dạng datadir, HỘI NGHỊ, BẠN ĐÃ LÀM ĐƯỢC QUYỀN !!!

Khi bạn hài lòng, tất cả các ứng dụng của bạn đều hoạt động với MySQL, bạn có thể xóa mọi thứ trong C:\ProgramData\MySQL\MySQL Server 5.1\data\*

Hãy thử một lần !!!


Tôi có thể biết các bước trên sẽ hoạt động cho windows server 2008 không?

Hoạt động, nhưng rất có thể bạn sẽ gặp lỗi 1067. Kiểm tra quyền trên thư mục mới

2
Đôi khi dịch vụ được đăng ký là MySQL57, bạn phải kiểm tra trước.
gianni christofakis

2
Tôi đã phạm một lỗi không đúng và không cho phép xcopy. mysql sẽ không khởi động lại. Tôi đã cố gắng cung cấp cho NETWORK Service toàn quyền truy cập vào datadir (theo các đề xuất trực tuyến khác) và nó đã ném các lỗi cấp phép. Nếu điều này xảy ra với bạn, hãy trao cho "Mọi người" toàn quyền kiểm soát các thư mục con dữ liệu và kế thừa cho trẻ em. Sau đó, chuyển đến thư mục cha (datadir), kích hoạt tính kế thừa thông qua quyền "Nâng cao" và áp dụng cho tất cả trẻ em. Sau đó, bạn có thể thêm DỊCH VỤ MẠNG vào datadir của mình, cung cấp cho nó toàn quyền kiểm soát và điều đó sẽ lan truyền đến trẻ em.
m Hurb quyên

2
Bạn nên sử dụng xcopy /O/X/E/H/Kthay vì xcopy /Strong câu trả lời này.
Ethan Allen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.