ตำแหน่ง MySQL my.ini


92

ฉันเห็นแล้ว http://dev.mysql.com/doc/refman/4.1/en/mysql-config-wizard-file-location.html

จะทราบตำแหน่ง mysql my.cnf ได้อย่างไร

และ

http://dev.mysql.com/doc/refman/5.1/en/option-files.html

แต่ฉันยังติดอยู่กับคำถามเก่า ๆ ! "my.ini ของฉันอยู่ที่ไหน" ฉันใช้ windows Server 2008 กับ mysql 5.5.28 ฉันติดตั้งบริการโดยใช้ mysqld --install และฉันสามารถใช้เซิร์ฟเวอร์ mysql โดยใช้ sqlyog แต่น่าเสียดายที่ผมไม่สามารถที่จะหา my.ini ในinstallation directoryหรือไม่ได้อยู่ในc:\ค่าในc:\windowsหรือในdata_dirแบบสอบถามshow variables like "mysql_home"กลับไม่มีอะไรเช่นกัน

ข้อเสนอแนะใด ๆ ?


6
ใน MySQL 5.6 ข้อมูลและmy.iniถูกเก็บไว้ใน (อย่างน้อยในกรณีของฉัน)C:\ProgramData\MySQL\MySQL 5.6
moriesta

คำตอบ:


35

คุณต้องดูว่าฉันเป็นโฟลเดอร์C:\Program Files\MySQL\MySQL Server 5.5แต่มีปัญหา เมื่อคุณทำการติดตั้ง MSI ของ MySQL my.ini จะไม่ถูกสร้างขึ้น จะมีไฟล์. ini ตัวอย่างอยู่ในโฟลเดอร์นั้น ในการใช้หนึ่งในนั้นmy-medium.iniคุณต้องทำสิ่งต่อไปนี้ก่อนที่จะรีสตาร์ท MySQL:

cd C:\Program Files\MySQL\MySQL Server 5.5
copy my-medium.ini my.ini
net stop mysql
net start mysql

เมื่อคุณทำเช่นนี้สามารถอ่านได้โดยmy.iniC:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe


1
จากสิ่งที่คุณพูด .. เซิร์ฟเวอร์ของฉันไม่ได้ใช้ my.ini หรือไม่? ดูเหมือนว่ากรณีเพราะฉันเพิ่งเปลี่ยนชื่อ my- [size] .ini และ mysql ทั้งหมดยังทำงานได้อย่างถูกต้อง !!!
ทรัพย์

44
หากคุณใช้โปรแกรมติดตั้ง MSI ระบบจะสร้าง my.ini ใน% PROGRAMDATA% \ MySQL \ MySQL Server XY \ และใช้งาน ดังนั้นวิธีนี้จะใช้ไม่ได้กับมัน
NurShomik

4
เมื่อต้องการเรียกใช้บริการ MySQL กับmy.iniไฟล์ที่คุณสร้างขึ้นคุณจะต้องหยุดการให้บริการในปัจจุบันแรกแล้วเอามันnet stop mysql sc remove mysqlจากนั้นคุณต้องติดตั้งบริการใหม่: "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe" --install newMySQL --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini" ตอนนี้คุณสามารถเรียกใช้บริการด้วยnet start newmysqlคำสั่ง
NurShomik

2
แค่ต้องการปรับปรุงความคิดเห็นควรเป็น 'sc delete' ไม่ใช่ 'sc remove' บน windows 10
lsc

6
สำหรับ MySQL 5.7 ในตำแหน่ง windows my.ini อาจอยู่ที่ "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ my.ini"
Mohsin Saeed

179

my.ini LOCATION บน WINDOWS MYSQL 5.6 MSI (โดยใช้ตัวช่วยติดตั้ง)

เปิดเปลือกคำสั่งของ Windows echo %PROGRAMDATA%และประเภท: ใน Windows Vista ผลลัพธ์จะเป็น: C:\ProgramData.

ตามhttp://dev.mysql.com/doc/refman/5.6/en/option-files.htmlที่ MySQL %PROGRAMDATA%\MySQL\MySQL Server 5.6\my.iniสถานที่แรกจะมีลักษณะอยู่ในภายใต้ ในเชลล์ Windows ของคุณถ้าคุณทำls "%PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini"คุณจะเห็นว่ามีไฟล์อยู่ที่นั่น

ซึ่งแตกต่างจากคำแนะนำส่วนใหญ่ที่คุณจะพบใน Stackoverflow และในเว็บการวางไฟล์ในC:\Program Files\MySQL\MySQL Server 5.6\my.iniจะไม่ทำงาน จะC:\Program Files (x86)\MySQL\MySQL Server 5.1ไม่ เหตุผลที่อ้างถึงในลิงค์ MySQL ที่โพสต์ไว้ด้านบน:

ใน Windows โปรแกรม MySQL จะอ่านตัวเลือกการเริ่มต้นจากไฟล์ต่อไปนี้ตามลำดับที่ระบุ (จะใช้รายการด้านบนก่อน)

โปรแกรมติดตั้ง MSI 5.6 ไม่สร้าง my.ini ในส่วนที่สูงที่สุดตั้งลำดับความสำคัญความหมายไม่มีไฟล์อื่น ๆ จะเคยพบ / ใช้ยกเว้นหนึ่งที่สร้างขึ้นโดยการติดตั้ง

โซลูชันที่ยอมรับข้างต้นจะใช้ไม่ได้กับการติดตั้งที่ใช้ MSI 5.6


3
%PROGRAMDATA%\MySQL\MySQL Server 5.6อ๋อเหมืองอยู่ใน ฉันต้องการให้มันอยู่ในไฟล์โปรแกรมแม้ว่า ...
jurchiks

@ amateur-barista คุณรู้วิธีทำให้ตัวติดตั้งใช้ไฟล์ my.ini ใน Program Files แทนไฟล์ใน ProgramData หรือไม่? นอกจากนี้วิธีสร้าง MySQL Workbench เพื่อใช้งานที่ฉันมีให้แทนการสร้างโดยโปรแกรมติดตั้ง
NurShomik

ประโยคทั้งหมดคือ "บน Windows โปรแกรม MySQL จะอ่านตัวเลือกการเริ่มต้นระบบจากไฟล์ต่อไปนี้ตามลำดับที่ระบุ (ไฟล์บนสุดจะถูกอ่านก่อนไฟล์ที่ตามมาจะมีความสำคัญมากกว่า) ฉันไม่เข้าใจทำไมตำแหน่งนั้นถึงมีความสำคัญสูงสุด
StackExploded

แล้วทำไม heck ถึงแม้แต่ MySQL workbench จึงแนะนำในหลาย ๆ ที่ว่าจะใช้อันที่มาจากไดเร็กทอรีการติดตั้ง? และเหตุใดจึงไม่กล่าวถึงในเอกสาร MySQL (เชื่อมโยงจาก my-default.ini) ฉันหงุดหงิดมาก :-(
Josef Sábl

98
  1. ป้อน "services.msc" ในช่องค้นหาเมนูเริ่ม
  2. ค้นหาบริการ MySQL ภายใต้คอลัมน์ชื่อตัวอย่างเช่น MySQL56
  3. คลิกขวาที่บริการ MySQL และเลือกเมนู Properties
  4. มองหา "Path To Executable" ใต้แท็บ General และมีไฟล์. ini ของคุณตัวอย่างเช่น "C: \ Program Files (x86) \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL เซิร์ฟเวอร์ 5.6 \ my.ini" MYSQL56

34

ฉันพบของฉันใน

\ProgramData\MySQL\MySQL Server 8.0\

(เป็นโฟลเดอร์ที่ซ่อนอยู่)

คุณสามารถพิมพ์win+Rและเขียน%PROGRAMDATA%เพื่อเข้าถึงโฟลเดอร์นั้นหรือเพียงแค่เปิดใช้งานแสดงโฟลเดอร์ที่ซ่อนอยู่


25

เริ่ม MySQL Workbench จากนั้นเซิร์ฟเวอร์ -> ไฟล์ตัวเลือกและดูที่ด้านล่างของหน้าต่าง มันจะบอกว่า "ไฟล์คอนฟิกูเรชัน: C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini"

(และสังเกตความแตกต่างเล็กน้อยระหว่าง "ProgramData" และ "Program Files" - ง่ายต่อการปัดสวะหากคุณกำลังมองหาคำตอบอย่างรวดเร็ว)


2
FWIW: ใน MySQL Workbench 6.1 ไม่มีรายการเซิร์ฟเวอร์ในเมนูหลักเว้นแต่คุณจะเปิดฐานข้อมูล ก่อนอื่นคุณต้องเปิดฐานข้อมูล localhost จากนั้นคุณสามารถเลือกเซิร์ฟเวอร์> ไฟล์ตัวเลือก ในระบบของฉันกล่องโต้ตอบที่แจ้งว่าไม่พบไฟล์ my.ini ที่ C: \ Program Files \ MySQL \ MySQL Server 5.0 \ my.ini (แต่จะมีการสร้างขึ้น) ค่อนข้างงงเนื่องจากฉันใช้ MySQL เวอร์ชันที่ใหม่กว่าและติดตั้งไว้ที่อื่น ดังนั้นจึงไม่ได้อยู่ที่ด้านล่างของความลึกลับนี้
gwideman

9

คุณสามารถค้นหาไฟล์ my.ini ใน windows ได้ที่ตำแหน่งนี้ - C: \ ProgramData \ MySQL \ MySQL Server 5.6

โฟลเดอร์ ProgramData เป็นโฟลเดอร์ที่ซ่อนอยู่ดังนั้นให้ทำการตั้งค่าตามเพื่อดูโฟลเดอร์นั้น และเปิดไฟล์ my.ini ในฐานะผู้ดูแลระบบเพื่อแก้ไขจากนั้นบันทึก



4

ในกรณีของฉันโฟลเดอร์ProgramDataถูกซ่อนโดยค่าเริ่มต้นใน windows 7 ดังนั้นฉันจึงไม่พบmy.iniไฟล์

หลังจากที่เลือกแสดงซ่อนไฟล์และโฟลเดอร์ตัวเลือกผมก็สามารถที่จะหาไฟล์ที่ตั้ง:my.iniC:\ProgramData\MySQL\MySQL Server 5.6

แสดงไฟล์และโฟลเดอร์ที่ซ่อนอยู่บน windows 7:

  1. คลิกขวาที่ปุ่มโลโก้ Windows แล้วเลือกเปิด Windows Explorer

  2. คลิกจัดระเบียบและเลือกโฟลเดอร์และตัวเลือกการค้นหา

  3. คลิกแท็บมุมมองเลือกแสดงไฟล์และโฟลเดอร์ที่ซ่อนจากนั้นล้างช่องทำเครื่องหมายสำหรับซ่อนไฟล์ปฏิบัติการระบบที่มีการป้องกัน

  4. คลิกใช่บนคำเตือนจากนั้นคลิกตกลง


2

มีอยู่ที่ C: \ Program Files \ MySQL \ MySQL Server 5.5 มีไฟล์. ini ต่างๆที่มีชื่อขนาดเล็กกลางและขนาดใหญ่ โดยทั่วไปจะใช้สื่อกลางหรือขึ้นอยู่กับความต้องการของคุณ


อ๊ะ ... ฉันคิดว่าโดยค่าเริ่มต้นควรใช้ my.ini คุณถูกต้องเกี่ยวกับไฟล์เหล่านี้ทั้งหมด อยู่ในไดเร็กทอรีการติดตั้ง คุณจะยืนยันได้อย่างไรว่าใช้อันไหน? ฉันจะย้ายไฟล์ชั่วคราวและดูว่าบริการ mysql รีสตาร์ทหรือไม่
ทรัพย์

คุณสามารถใช้สิ่งเหล่านี้ตามความต้องการของคุณ สร้างไฟล์ my.ini โดยการคัดลอกเนื้อหาจากไฟล์เหล่านี้ (ทำตามคำตอบด้านล่างสำหรับคำสั่ง) จากนั้นคุณสามารถใช้หรือปรับแต่ง my.ini & mysql ของคุณก็จะใช้ไฟล์ my.ini นี้เช่นกัน
Raul

2

programDataเป็นโฟลเดอร์ที่ซ่อนอยู่ดังนั้นคุณต้องเปลี่ยนตัวเลือกจากการตั้งค่าเพื่อแสดงโฟลเดอร์ที่ซ่อนจากนั้นทำการเปลี่ยนแปลงในmy.iniไฟล์ที่มีอยู่ในนั้น

อย่าลืมอัปเดตmy.iniไฟล์ที่ถูกต้องเพราะอาจเสียเวลามากหากคุณอัปเดตไฟล์ผิด

คุณสามารถตรวจสอบบริการเพื่อดูว่าmy.iniมีการกำหนดค่าใดในบริการนี้


2

กดปุ่ม windows> พิมพ์ services> กด enter> ค้นหา mysql ในรายการ> คลิกขวา> properties> Path to Executable จะมีตำแหน่งของไฟล์เริ่มต้นอยู่ด้านล่าง (my.ini)


1

เปิดประเภทรันคอนโซลของคุณ: services.msc ค้นหา: mysql คลิกขวาคุณสมบัติที่เขียน "path to executable" คลิกและเลื่อนเคอร์เซอร์ไปทางขวาจนกว่าคุณจะเห็นไดเร็กทอรีของ my.ini ซึ่งเขียนว่า "default-file- ". ในการเข้าถึงด้วยตนเองในโฟลเดอร์สำรวจของคุณคุณต้องเปิดใช้งานการแสดงภาพขององค์ประกอบที่ซ่อนอยู่ (สำรวจโฟลเดอร์> เมนูด้านบน> แสดงภาพ> แสดงภาพองค์ประกอบที่ซ่อนอยู่)

ตามที่อธิบายไว้ในวิดีโอนี้

https://www.youtube.com/watch?v=SvCAa2XuQhg


0

ฉันพบกับปัญหาเดียวกันเมื่อฉันติดตั้ง MSI ของ MySQL และไม่มีไฟล์ my-medium.ini ด้วยเมื่อฉันลองทำตามขั้นตอนข้างต้น การติดตั้งไฟล์ ZIP ของ MySQL เท่านั้นที่ช่วยฉันได้ ดังนั้นฉันขอแนะนำให้คุณถอนการติดตั้งโฟลเดอร์ที่ติดตั้ง MSI และติดตั้งใหม่โดยใช้ไฟล์ ZIP


0

บน Windows หากติดตั้ง MySQL เป็นบริการคุณสามารถเปลี่ยน binpath ของบริการได้ ตัวอย่างเช่น

sc config MySQL57 binPath= "\"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe\" --defaults-file=\"<myini path>" MySQL57"

ช่องว่างหลัง binpath มีความสำคัญ คุณต้องหลีกเลี่ยงเครื่องหมายคำพูดคู่


0

สำหรับ MySql Server 8.0 ตำแหน่งเริ่มต้นคือ% WINDIR% หรือ C: \ Windows

คุณต้องเพิ่มไฟล์ "my.ini" ที่นั่น

นี่คือตัวอย่างของสิ่งที่ฉันใส่ในไฟล์ ini

[mysqld]

secure_file_priv=""

ตรวจสอบให้แน่ใจว่าได้เริ่มบริการ MySQL ใหม่หลังจากนั้น

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