เปลี่ยนเส้นทางข้อมูลที่มีอยู่


20

ฉันต้องการเปลี่ยนdatadirพา ธ ในmy.iniไฟล์

datadirเส้นทางที่มีอยู่คือC:/ProgramData/MySQL/MySQL Server 5.1/Data/

C:ไดรฟ์ของฉันมีขนาด 30 GB และโฟลเดอร์ข้อมูล MySQL มีพื้นที่ 25 GB ดังนั้นผมจึงต้องการที่จะเปลี่ยนไปdatadirF:/naveen/data

เป็นไปได้ไหม

เครื่องของฉันทำงานWindows Server 2003

คำตอบ:


26

จากเส้นทางของคุณฉันสามารถสันนิษฐานได้อย่างปลอดภัยดังต่อไปนี้

  • คุณกำลังใช้งาน MySQL ใน Windows
  • คุณใช้ MySQL MSI เพื่อติดตั้ง

สิ่งที่คุณต้องทำคือสร้างไฟล์ my.ini

เมื่อติดตั้ง MySQL สำหรับ Windows ใช้ MSI ที่ตั้งของ my.ini C:/ProgramData/MySQL/MySQL Server 5.1ที่คาดว่าจะเป็น

โปรดเรียกใช้สิ่งต่อไปนี้ในหน้าต่าง DOS:

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

คุณจะเห็นตัวอย่างไฟล์ my.ini อย่างไรก็ตามหากไม่มีไฟล์ชื่อ my.ini ในโฟลเดอร์นั้นคุณต้องสร้างไฟล์ขึ้นมา ไม่ว่าจะมีอยู่หรือไม่โปรดเรียกใช้สิ่งนี้:

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

หากคุณถูกขอให้สร้างมันขึ้นมาโปรดทำเช่นนั้น

ถัดไปสร้างรายการต่อไปนี้ภายใต้ส่วนหัวของกลุ่ม [mysqld] ใน my.ini:

[mysqld]
datadir=F:/naveen/data

บันทึก my.ini

ถัดไปหยุด mysql จากบรรทัดคำสั่ง DOS ดังนี้:

C:\> net stop mysql

ถัดไปทำสำเนาโฟลเดอร์ข้อมูลทั้งหมดในตำแหน่งใหม่

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

ขั้นตอนสุดท้ายเริ่ม mysql

C:\> net start mysql

ลองเข้าสู่ mysql เมื่อคุณสามารถลงชื่อเข้าใช้ mysql ได้สำเร็จให้เรียกใช้คำสั่งนี้:

show variables like 'datadir';

หากF:\naveen\dataปรากฏเป็น datadir ขอแสดงความยินดีคุณทำถูกต้องแล้ว !!!

เมื่อคุณพอใจแอปทั้งหมดที่ใช้งาน MySQL คุณสามารถลบทุกอย่างได้ C:\ProgramData\MySQL\MySQL Server 5.1\data\*

ให้มันลอง !!!


ฉันขอทราบขั้นตอนข้างต้นสำหรับ Windows Server 2008 ได้หรือไม่

ใช้งานได้ แต่เป็นไปได้มากว่าคุณจะได้รับข้อผิดพลาด 1,067 ตรวจสอบการอนุญาตในไดเรกทอรีใหม่

2
บางครั้งการลงทะเบียนบริการเป็นMySQL57คุณต้องตรวจสอบก่อน
giannis christofakis

2
ฉันทำผิด noob และไม่ได้รับอนุญาต xcopy mysql จะไม่รีสตาร์ท ฉันพยายามให้ NETWORK SERVICE สามารถเข้าถึง datadir ได้อย่างเต็มที่ (ตามคำแนะนำออนไลน์อื่น ๆ ) และทำให้เกิดข้อผิดพลาดในการอนุญาต หากสิ่งนี้เกิดขึ้นกับคุณให้การควบคุมเต็มรูปแบบ "ทุกคน" ของไดเรกทอรีย่อยข้อมูลและสืบทอดให้กับเด็ก ๆ จากนั้นไปที่โฟลเดอร์ parent (datadir) เปิดใช้งานการสืบทอดผ่านสิทธิ์ "ขั้นสูง" และใช้กับเด็กทุกคน จากนั้นคุณสามารถเพิ่มบริการเครือข่ายไปยัง datadir ของคุณให้มันควบคุมเต็มรูปแบบและที่จะเผยแพร่ไปยังเด็ก ๆ
murraybiscuit

2
คุณควรใช้xcopy /O/X/E/H/Kแทนxcopy /Sคำตอบนี้
อีธานอัลเลน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.