MySQL mengikat ke port 3307 bukan port 3306


9

Saya menjalankan OS X Yosemite 10.10.5 pada Mac Mini akhir 2014. Ini server pengembangan saya. Saya baru saja menginstal MySQL pada mesin ini: 'mysql --version' melaporkan versinya adalah 'mysql Ver 14.14 Distrib 5.6.26, untuk osx10.8 (x86_64) menggunakan EditLine wrapper'. Saya pasti mengunduh dan menginstal versi "OS X 10.9" (saya baru memeriksa ulang file DMG).

Pokoknya saya mencoba untuk membuat produk mendengarkan pada port 3306 seperti biasa dan saya mengalami kesulitan membuatnya melakukannya. Secara default sepertinya terikat ke port 3307, bahkan ketika my.cnf terlihat seperti ini:

[mysqld]
bind-address = 0.0.0.0
port         = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

(baris terakhir sudah ada di baris default di / usr / local / mysql /)

melihat proses yang berjalan saya bisa melihat baris perintah (ps ax | grep mysql) telah diberikan sebagai 3307:

40958   ??  Ss     0:00.38 /usr/local/mysql/bin/mysqld \\
--user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data \\
--plugin-dir=/usr/local/mysql/lib/plugin \\
--log-error=/usr/local/mysql/data/mysqld.local.err \\
--pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307

(Saya memulai dan menghentikannya saat ini dengan panel preferensi sistem MySQL tidak langsung dari baris perintah)

Untuk mengaksesnya dari klien saya harus secara eksplisit mengatur port pada baris perintah

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p

Untuk iseng, saya mengedit my.cnf untuk menentukan beberapa port acak lainnya. Server masih mengikat ke port 3307. Saya tidak dapat menemukan my.cnf lain di disk mana pun yang mungkin menimpanya.

Apa yang terjadi disini?

Jawaban:


10

Bisakah Anda mencoba memeriksa apakah file berikut ada di mesin Anda?

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Periksa apakah port didefinisikan pada 3307, apakah ini benar berubah ke 3306 dan restart layanan.


Ya, ya. Dan memiliki baris ini di dalamnya: <string> --port = 3307 </string> Mengapa secara default melakukannya?
scot

1
Saya kira ini terjadi karena file ini memulai layanan, saya tidak yakin tetapi mungkin jika Anda menghapus baris, layanan mengambil port pada my.cnffile.
Victor Marroquin

oh ya tentu saja. oleh "mengapa" saya maksudkan mengapa itu akan menginstal file dengan nilai seperti itu daripada yang diharapkan, masuk akal, default. (Saya berasumsi tentu saja bahwa paket instal telah menginstal daemon peluncuran ... karena apa lagi yang akan terjadi?)
scot

1

Ini harus ada hubungannya dengan panel preferensi sistem MySQL dan cara memulai server. Saya menonaktifkan dan menghapus panel preferensi. Ketika saya memulai / menghentikan server menggunakan 'mysqld_safe' pada baris perintah, ia menggunakan port yang ditentukan dalam my.cnf.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.