MySQL ที่มาพร้อมกับ MAMP ไม่มีไฟล์ config หรือไม่


คำตอบ:


190

เซิร์ฟเวอร์ MySQL ของ MAMP (ไม่ใช่ PRO) จะเริ่มทำงานโดยไม่มีไฟล์ my.cnf แต่คุณสามารถสร้างไฟล์ my.cnf ของคุณเองได้

  1. หยุดเซิร์ฟเวอร์
  2. สร้างmy.cnfไฟล์ใน/Applications/MAMP/conf/
  3. เพิ่มเนื้อหาของคุณใน my.cnf
  4. บันทึก my.cnf
  5. เริ่มเซิร์ฟเวอร์

คุณไม่ต้องใส่คอนฟิกูเรชันทั้งหมดในไฟล์ my.cnf คุณสามารถเพิ่มบางส่วนของการกำหนดค่า ... ตัวอย่างเช่น:

[mysqld]
max_allowed_packet = 64M

16
โปรดทราบว่า MAMP Pro จะสร้างเวอร์ชันของตัวเอง คุณสามารถแก้ไขได้มากขึ้น "อย่างดี" แม้ว่าจะเป็นเรื่องที่น่าปวดหัวสำหรับคนที่ใช้บรรทัดคำสั่ง เพียงไปที่ File-> Edit Template-> MySQL my.cnf และเปลี่ยนการตั้งค่าที่คุณต้องการ ข้อมูลเพิ่มเติมเกี่ยวกับทั้ง MAMP และ MAMP pro ที่นี่
Chris Krycho

1
การเพิ่มไฟล์ my.cnf ด้วยตนเองไปยัง Application / MAMP / conf / modified ERROR 2006 (HY000) ที่บรรทัด 1357: เซิร์ฟเวอร์ MySQL ได้หายไปแล้ว โพสต์นี้เก่า แต่ยังเกี่ยวข้องกับ MAMP เวอร์ชัน 3.0.2 (ไม่ใช่โปร)
C13L0

19
+1 สำหรับmax_allowed_packet. คุณรู้ได้อย่างไรว่าฉันกำลังมองหาอะไรอยู่?
iGbanam

4
ขอบคุณที่รวมไลน์ [mysqld] ฉันพลาดสิ่งนั้นและเอาหัวโขกกับกำแพงทำไม MAMP ไม่สามารถเริ่มทำงานได้
Brendan Falkowski

1
@ Yasky ดูเหมือนว่าอย่างน้อย 15 คนที่ใช้ MAMP อาจพบว่า '# 2006 เซิร์ฟเวอร์ MySQL หายไป' googled พบคำถาม SO นี้จากนั้นมาที่นี่เพื่อค้นหาว่าไฟล์ my.cnf อยู่ที่ไหน!
thephpdev

11

สามารถพบตัวแปร my.cnf มาตรฐานบางตัวได้ที่ / Applications / MAMP / Library / support-files /

การเรียกmysqld --verbose --help | lessใช้รายงานไบนารี MAMP mysqld:

ตัวเลือกเริ่มต้นจะอ่านจากไฟล์ต่อไปนี้ตามลำดับที่กำหนด: /etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~ / .my.cnf

คัดลอกหนึ่งในตัวแปรใน / Applications / MAMP / Library / support-files / ไปยังตำแหน่งใดตำแหน่งหนึ่งในลำดับการค้นหาของ mysqld ด้านบนและคุณควรดำเนินการต่อหลังจากรีสตาร์ท daemon


10

เนื่องจากเซิร์ฟเวอร์ MAMP สร้างmy.cnfแบบไดนามิกในการเริ่มต้นเซิร์ฟเวอร์ MAMP จึงควรใช้ขั้นตอนต่อไปนี้เพื่อเพิ่มหรือแก้ไขการกำหนดค่า MySQL:

  1. หยุดเซิร์ฟเวอร์ MAMP
  2. ไปที่ไฟล์> แก้ไขเทมเพลต> MySQL
  3. ทำการเปลี่ยนแปลงที่จำเป็นและบันทึก
  4. รีสตาร์ท MAMP

ฉันลองใช้กับ MAMP PRO 3.5


ขอขอบคุณ! ฉันรู้ว่ามีวิธีทำผ่าน MAMP
Rkey

เพิ่ม "innodb_force_recovery = 1"
Fairuz Sulaiman

6

สำหรับ MAMP 3.5 บน Mac El Capitan สิ่งนี้ใช้ได้กับฉันเท่านั้น:

  1. หยุดเซิร์ฟเวอร์
  2. สร้างmy.cnfไฟล์ใน/Applications/MAMP/Library/
  3. เพิ่มเนื้อหาของคุณลงในmy.cnfไลค์

    [mysqld] max_allowed_packet = 64M

  4. บันทึก my.cnf

  5. เริ่มเซิร์ฟเวอร์

ไม่จำเป็นต้องเปลี่ยนความเป็นเจ้าของไฟล์ควรใช้งานได้ ตรวจสอบโดยรันSHOW VARIABLESใน phpmyadmin และค้นหาการตั้งค่าที่คุณเปลี่ยนแปลง



1

ฉันพบว่า MAMP PRO จะสร้าง my.cnf ตามค่าเริ่มต้นเมื่อเริ่มต้นภายใต้ไดเร็กทอรี MAMP / tmp หากไม่ได้ระบุ ~ / my.cnf ... grepping ps aux คุณอาจพบตำแหน่งเริ่มต้นภายใต้ / Applications / MAMP / tmp /my.cnf ...

 ps aux | grep mysql

ซึ่งมีให้ดังต่อไปนี้ ...

root       284   0.0  0.1  2435544    532   ??  Ss    12:00AM   0:00.06 /bin/sh     /Applications/MAMP/Library/bin/mysqld_safe 
--defaults-file=/Applications/MAMP/tmp/mysql/my.cnf 
--port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock 
--user=mysql --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid 
--log-error=/Applications/MAMP/logs/mysql_error_log.err 
--tmpdir=/Applications/MAMP/tmp/mysql/tmpdir 
--datadir=/Library/Application Support/appsolute/MAMP PRO/db/mysql
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.