Show
Ở bài trước chúng ta đã biết cách thay đổi đường dẫn thư mục web root (htdocs,www), bài hôm nay mình xin hướng dẫn các bạn cách đổi dường dẫn thư mục chứa mysql database của web server mình lấy xampp làm ví dụ. Bạn muốn XAMPP làm việc với các file database chứa ở thư mục khác, ví dụ: d:/xampp_database Cũng tương tự như cách đổi thư mục web root của xampp bạn đã học ở bài trước. Mở file “C:\XAMPP\mysql\bin\my.ini” với text editor, Tìm chuỗi “C:/xampp/mysql/data” chuỗi này xuất hiện ở các dòng: 33,139,141, Backup lại cơ sở dữ liệu cũ sang folder mới.Copy toàn bộ các file ở C:/xampp/mysql/data sang thư mục mới bạn chỉ định. hosting miễn phí | hosting giá rẻ | hosting trọn đời | 23webhost Chú ý: Sau khi sửa đổi lưu file lại và phải tắt dịch vụ mysql.exe đi, rồi chạy lại xampp mới thấy kết quả. Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook Khi làm việc với Mysql bản thân tôi gặp một vấn đề là mong muốn thay đổi vị trí lưu data(Data đựoc định nghĩa ở đây là: Database). Nguyên nhân:Tại sao bạn muốn thay đổi vị trí lưu trữ dữ liệu mặc định của mysql
Thực hiệnNotes: Hành động của mình dựa trên conifg mysql 5.6 và server linux 14.04 vì vậy với các version khác có thể có sai khác /etc/init.d/mysql stop
Trong file: /etc/mysql/my.cnf thay đổi datadir = /var/lib/mysql=> datadir = /new_folder_mysql /etc/init.d/mysql startRủi roKhi thực hiện các bước trên, bạn có thể gặp các vấn đề như
Kết LuậnChúc bạn may mắn khi config mysql, tuy nhiên với mỗi version có thể khác nhau, vì vậy hãy config trước dưới local và tạo môi trường giống với production để config chúng.
Bạn biết rằng việc lưu trữ Data file .MDF và Log file .LDF trên những đĩa cứng khác nhau sẽ giúp nâng cao hiệu năng truy xuất dữ liệu của SQL Server. Đồng thời giúp tăng cơ hội phục hồi về thời điểm ngay trước khi sự cố xảy ra (xem thêm ở bài viết 2 lý do bạn nên lưu trữ Data file và Log file trên những đĩa cứng khác nhau). SQL Server của bạn vừa được gắn thêm disk mới (hoặc được cấp LUN mới trên SAN) và bạn muốn tiến hành di dời Log file sang thư mục mới (trên disk mới) để đạt được 2 mục đích trên. Nhưng bạn lo lắng không biết rằng thao tác di dời Log file có phức tạp, có gây lỗi đến database không? Thực tế thao tác này rất đơn giản, khả năng bị lỗi hầu như không có. Bài viết bên dưới hướng dẫn bạn các bước tiến hành. Chuẩn bịDù đơn giản nhưng bạn cũng cần các bước chuẩn bị sau để đảm bảo quá trình di dời Log file không gặp trở ngại nào:
Để xem đường dẫn Data file và Log file, trong SQL Server Management Studio (SSMS), bạn chọn database > Properties > Files > Ở mục Database files, bạn xem giá trị Path và File Name để biết được đường dẫn vị trí Data file và Log file của database cần di dời. Với T-SQL, bạn sử dụng stored procedure sp_helpfile để xem vị trí 2 file này:
Các bước tiến hành1. Detach databaseTrong giao diện SSMS, bạn sử dụng chức năng Detach để detach database. Nếu giá trị mục Status là No Ready, nhiều khả năng do vẫn còn connection đang kết nối đến database. Bạn click vào hyperlink ở mục Message để xem thông báo lỗi chi tiết. Nếu nguyên nhân do còn kết nối đến database, bạn chọn Drop Connection để SQL Server ngắt các kết nối đến database trước khi detach. 2. Di dời Log file sang thư mục mớiTrong Windows Explorer, bạn di dời Log file sang thư mục mới. 3. Attach lại databaseBạn attach lại database từ Data file (.MDF). Tuy nhiên, vì lúc này Log file đã được di dời sang đường dẫn khác nên SQL Server không tìm thấy Log file (thông báo “Not Found” ở mục Message). Bạn cần browse chọn Log file ở đường dẫn mới di dời đến. Lưu ý: Nếu mục Message không có thông báo “Not Found”, có thể do Log file ở thư mục cũ vẫn còn tồn tại. Vì thế, bạn cần browse và chọn Log file ở thư mục mới.
Xem thêm bài viết liên quan:
Có thể vì lý do nào đó bạn muốn phục hồi database thành tên khác và lưu trữ dữ liệu (Data file, Log file) ở thư mục khác so với trước đây. Chẳng hạn:
SQL Server cho phép bạn tiến hành các thao tác này khá dễ dàng. Phục hồi database với tên khácPhục hồi database thành một tên khác cũng đơn giản như thao tác rename database trong SQL Server. Bạn chỉ cần thực hiện lệnh RESTORE DATABASE với tên mới muốn đặt.
Tuy nhiên, khi phục hồi với tên khác, bạn cần lưu ý điểm sau: Việc đổi tên database hoàn toàn không liên quan đến Logical Name và Physical Name của database (VD: Data file có Logical Name là zBackupLabDB_Data, Physical Name là C:\OldSQLFiles\zBackupLabDB_Data.MDF). Do đó, nếu database cũ vẫn đang hoạt động thì có thể Data file và Log file của database được phục hồi sẽ bị trùng với database cũ. Nên khi phục hồi SQL Server sẽ báo lỗi như bên dưới:
Với lỗi trên, bạn cần dùng tùy chọn MOVE để thay đổi tên file của Physical Name, hoặc di chuyển hoàn toàn Physical Name sang thư mục khác. Hoặc xóa database cũ đang hoạt động (nếu có thể ^_^). Để xem thông tin Logical Name và Physical Name của database cũ (đang hoạt động trong SQL Server), bạn thực thi stored procedure sp_helpfile như bên dưới:
Để xem thông tin Logical Name và Physical Name của database đang có trong bản backup (là database bạn đang muốn phục hồi với tên mới), bạn dùng lệnh RESTORE FILELISTONLY như bên dưới:
Phục hồi database và thay đổi thư mục lưu dữ liệuĐể thay đổi thư mục lưu trữ database (so với thư mục trước đó khi database được sao lưu), bạn thêm tùy chọn MOVE vào lệnh RESTORE DATABASE để SQL Server phục ho6if Data file và Log file vào đường dẫn mới bạn chỉ định. Để biết được Logical Name của Data file và Log file, bạn dùng lệnh RESTORE FILELISTONLY vừa trình bày ở trên.
Có 2 lưu ý sau:
Lưu ý: Nếu cần phục hồi thêm các bản sao lưu Differential/Transaction Log sau khi phục hồi từ bản sao lưu Full, bạn cần thêm tùy chọn NOVECOVERY khi thực thi lệnh RESTORE DATABASE.
Xem thêm bài viết liên quan: |