MySQL - ไม่สามารถปิดการข้ามเครือข่าย


2

ฉันพยายามกำหนดค่าเซิร์ฟเวอร์ mysql ที่ติดตั้งใหม่เพื่อฟังบนพอร์ต 3306

ฉันลบ skip_networking ฉันมี bind-address = 127.0.0.1 และละเว้นการตั้งค่า ...

เมื่อฉันลอง SHOW VARIABLES LIKE 'skip_networking' ฉันเห็นว่ามันยังคงน่าผิดหวังอยู่

netstat -na | grep mysql ระบุว่ากำลังฟังบนพอร์ตสุ่มและใช่ฉันมีพอร์ต = 3306 ที่กำหนดค่า ... บรรทัดที่แน่นอนคือ: unix 2 [ ACC ] STREAM LISTENING 45816 /var/run/mysqld/mysq d.sock

ทำงานบน Ubuntu 12.04.2

ฉันไม่มีอะไรที่ชัดเจนจริงๆเหรอ?


แน่ใจหรือไม่ว่าคุณกำลังแก้ไขไฟล์กำหนดค่าที่ถูกต้อง สิ่งนี้กัดฉันครั้ง maaaaany
Brian Adkins

คำตอบ:


5

บนระบบ OSX โดยใช้ macports

ขั้นแรกให้ฆ่าเซิร์ฟเวอร์ของคุณหากเซิร์ฟเวอร์ทำงานอยู่

mysqladmin shutdown -u root -p

จากนั้นปิดใช้งานการข้ามเครือข่ายจาก:

/opt/local/etc/mysql<YOUR_VERSION>/macports-default.cnf

แสดงความคิดเห็นออก skip-networking บรรทัด:

# skip-networking

ในที่สุดเปิดเซิร์ฟเวอร์อีกครั้ง

mysql -u root -p

เอกสารระบุว่า macport-default.cnf จะถูกแทนที่ในการอัปเกรดครั้งถัดไปดังนั้นจึงจำเป็นต้องแทนที่และไม่เพียง แต่แก้ไข
VdesmedT

0

ปัญหาเกิดขึ้นจากการใช้ netstat ของคุณ เงื่อนงำคือผลลัพธ์ตัวอย่างของคุณเริ่มต้นด้วย "unix" แทนที่จะเป็น "tcp" (เช่นเป็นซ็อกเก็ต Unix รองพอร์ตเครือข่าย) แทนที่จะเป็น "netstat -an" ให้ลอง "netstat -antup" และ grep สำหรับ "mysql" หรือ "LISTEN"

กล่าวอีกนัยหนึ่ง MySQL ไม่ฟังพอร์ตเครือข่ายอีกต่อไป สิ่งที่คุณเห็นคือซ็อกเก็ต Unix ซึ่งไม่สามารถเข้าถึงได้จากเครือข่าย (หวังว่านี่จะช่วยได้)

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