MySQL เพิกเฉยการตั้งค่าไฟล์ pid ใน my.cnf บน Ubuntu 18.04


0

ผู้ใช้รายอื่นถามคำถามที่คล้ายกันในเว็บไซต์อื่น เขาแนะนำให้ถามที่นี่ แต่ฉันไม่สามารถพบสิ่งใดเกี่ยวกับคำถามได้ที่นี่

https://stackoverflow.com/questions/48431107/pid-file-parameter-being-ignored-in-my-cnf

ฉันกำลังประสบปัญหาเดียวกัน

ในmy.cnfฉันได้ตั้งค่าpid-fileตัวเลือกทั้งในmysqldและmysqld_safeส่วนที่จะเป็น/run/mysqld.pidแต่การตั้งค่าจะถูกละเว้นและ MySQL จะวางไฟล์ใน/var/run/mysqld/mysqld.pidตามที่เป็นค่าเริ่มต้น

ฉันใช้ MySQL Server 5.7 และ Ubuntu 18.04 (ไบโอนิค) ความคิดใด ๆ

แก้ไข

หากฉันทำงานmysqld --print-defaultsฉันเห็นว่าการตั้งค่ากำลังอ่านอย่างถูกต้องเนื่องจากฉันเห็นผลลัพธ์ต่อไปนี้:

mysqld would have been started with the following arguments: ... --pid-file=/run/mysqld.pid ...

คำตอบ:


0

Ubuntu 18 ใช้ systemd เพื่อจัดการบริการ mysql

https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html

ตั้ง pid โดยวิ่ง systemctl edit mysql

PIDfile=/run/mysqld.pid


น่าเสียดายที่นี่ไม่มีการเปลี่ยนแปลง ฉันใช้คำสั่ง "systemctl edit mysql" เพื่อเปิดโปรแกรมแก้ไขป้อน "[Service]" และ "PIDFile = / run / mysqld.pid" บนสองบรรทัดรีสตาร์ทเซอร์วิสแล้วรีบูตเครื่องในกรณีนี้ แต่ไฟล์ pid ยังคงอยู่ใน /var/run/mysqld/mysqld.pid
Jared Brandt

แม้ว่า! ที่น่าสนใจ ... หลังจากรีบูตถ้าฉันพยายามที่จะเริ่มบริการมันแฮงค์ หลังจากตรวจสอบ syslog ดูเหมือนว่าการพยายาม "เริ่ม" บริการใหม่ทำให้ systemd ค้นหาในตำแหน่งที่ถูกต้องสำหรับไฟล์ pid (/run/mysqld.pid) แต่ไม่พบ
Jared Brandt

ลองสร้าง /etc/systemd/system/mysqld.service.d/override.conf และตั้งค่าตัวเลือกบริการที่นั่น
Timmy Browne

ตรวจสอบและตรวจสอบสองครั้งและสามครั้ง :~# cat /etc/systemd/system/mysql.service.d/override.conf [Service] PIDFile=/run/mysqld.pid ExecStart= ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld.pid $MYSQLD_OPTS(ดึงสิ่ง ExecStart จากลิงก์คู่มือ MySQL ที่คุณแนบ - ลองทั้งแบบมีและไม่มีและมีและไม่มีการเพิ่ม$MYSQLD_OPTS)
Jared Brandt

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