Lokasi my.ini MySQL

91

Saya sudah melihat http://dev.mysql.com/doc/refman/4.1/en/mysql-config-wizard-file-location.html

bagaimana mengetahui lokasi mysql my.cnf

dan

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

Tapi saya masih terjebak dengan pertanyaan lama! "Di mana my.ini saya" Saya menggunakan windows server 2008 dengan mysql 5.5.28. Saya menginstal layanan menggunakan mysqld --install dan saya dapat menggunakan server mysql menggunakan sqlyog. Tapi sayangnya saya tidak dapat menemukan my.ini di installation directoryatau tidak di c:\dalam c:\windowsmaupun di data_dirkueri show variables like "mysql_home"tidak mengembalikan apa pun juga.

Ada saran?

Getah
sumber
6
Dalam MySQL 5.6 data dan my.inidisimpan di (dalam kasus saya setidaknya)C:\ProgramData\MySQL\MySQL 5.6
Akut

Jawaban:

34

Anda harus melihat folder saya C:\Program Files\MySQL\MySQL Server 5.5tetapi ada masalah. Saat Anda melakukan penginstalan MSI pada MySQL, my.ini tidak dibuat. Akan ada contoh file .ini di folder itu. Untuk menggunakan salah satunya, katakanlah my-medium.ini, Anda perlu melakukan hal berikut sebelum MySQL restart:

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

Sekali, Anda melakukan ini, my.inidapat dibaca oleh C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe.

RolandoMySQLDBA
sumber
1
jadi dari apa yang Anda katakan .. Server saya tidak menggunakan my.ini apa pun kan? Sepertinya juga demikian karena saya baru saja mengganti nama semua [ukuran] .ini dan mysql saya masih berfungsi dengan benar !!!
Sap
44
Jika Anda menggunakan penginstal MSI, ia membuat my.ini di% PROGRAMDATA% \ MySQL \ MySQL Server XY \ dan menggunakannya. Jadi solusi ini tidak akan berhasil.
NurShomik
4
Untuk menjalankan layanan MySQL dengan my.inifile yang Anda buat, Anda perlu untuk menghentikan layanan saat pertama net stop mysqldan kemudian menghapusnya: sc remove mysql. Kemudian Anda perlu menginstal layanan baru: "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" Sekarang Anda dapat menjalankan layanan dengan net start newmysqlperintah.
NurShomik
2
Hanya ingin meningkatkan komentar, seharusnya 'sc delete' bukan 'sc remove' di windows 10.
lsc
6
Untuk MySQL 5.7 di windows my.ini lokasi mungkin di "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ my.ini"
Mohsin Saeed
178

LOKASI my.ini PADA MSI WINDOWS MYSQL 5.6 (MENGGUNAKAN WIZARD INSTALL)

Buka command shell Windows dan ketik: echo %PROGRAMDATA%. Pada Windows Vista ini menghasilkan: C:\ProgramData.

Menurut http://dev.mysql.com/doc/refman/5.6/en/option-files.html , lokasi pertama yang akan dicari MySQL adalah di %PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini. Di shell Windows Anda jika Anda melakukannya ls "%PROGRAMDATA%\MySQL\MySQL Server 5.6\my.ini", Anda akan melihat bahwa file tersebut ada di sana.

Tidak seperti kebanyakan saran yang akan Anda temukan di Stackoverflow dan di seluruh web, meletakkan file di C:\Program Files\MySQL\MySQL Server 5.6\my.iniTIDAK AKAN BEKERJA. Tidak juga C:\Program Files (x86)\MySQL\MySQL Server 5.1. Alasan dikutip di tautan MySQL yang diposting di atas:

Di Windows, program MySQL membaca opsi startup dari file berikut, dalam urutan yang ditentukan (item teratas digunakan lebih dulu).

5,6 MSI installer tidak membuat my.ini di tertinggi lokasi prioritas, yang berarti tidak ada file lain yang pernah ditemukan / digunakan, kecuali untuk satu diciptakan oleh installer.

Solusi yang diterima di atas tidak akan berfungsi untuk 5.6 penginstalan berbasis MSI.

amatir barista
sumber
3
Ya, milik saya sudah masuk %PROGRAMDATA%\MySQL\MySQL Server 5.6. Saya lebih suka jika itu ada di file program ...
jurchiks
@ amatir-barista, tahukah Anda cara membuat penginstal untuk menggunakan file my.ini di Program Files alih-alih yang ada di ProgramData? Juga, bagaimana cara membuat MySQL Workbench menggunakan yang saya sediakan, bukan yang dibuat oleh penginstal?
NurShomik
Keseluruhan kalimatnya adalah "Di Windows, program MySQL membaca opsi startup dari file berikut, dalam urutan yang ditentukan (file teratas dibaca terlebih dahulu, file kemudian diutamakan)." Saya tidak mengerti, Mengapa itu lokasi prioritas tertinggi?
StackExploded
Lalu mengapa sih bahkan meja kerja MySQL menyarankan di banyak tempat, bahwa yang dari direktori Instalasi digunakan? Dan mengapa ini tidak disebutkan di dokumen MySQL (ditautkan dari my-default.ini). Saya sangat frustrasi :-(
Josef Sábl
96
  1. Masukkan "services.msc" pada kotak pencarian menu Start.
  2. Temukan layanan MySQL di bawah kolom Name, misalnya MySQL56.
  3. Klik kanan pada layanan MySQL, dan pilih menu Properties.
  4. Cari "Path To Executable" di bawah tab General, dan ada file .ini Anda, misalnya, "C: \ Program Files (x86) \ MySQL \ MySQL Server 5.6 \ bin \ mysqld.exe" --defaults-file = "C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini" MYSQL56
Bae Cheol Shin
sumber
30

Saya telah menemukan milik saya

\ProgramData\MySQL\MySQL Server 8.0\

(Ini adalah folder tersembunyi)

Anda dapat mengetik win+Rdan menulis %PROGRAMDATA%untuk mengakses folder itu, atau cukup aktifkan show hidden folder.

Mangue Sutcliff
sumber
25

Mulai MySQL Workbench, lalu Server -> Options File dan lihat di bagian bawah jendela; itu akan mengatakan sesuatu seperti "File Konfigurasi: C: \ ProgramData \ MySQL \ MySQL Server 5.6 \ my.ini"

(Dan perhatikan perbedaan halus antara "ProgramData" dan "Program Files" - mudah diabaikan jika Anda mencari jawaban cepat.)

Chirael
sumber
2
FWIW: Di MySQL Workbench 6.1, tidak ada item Server di menu utama, kecuali Anda membuka database. Jadi pertama-tama Anda perlu membuka database localhost. Kemudian Anda dapat memilih Server> Opsi File. Di sistem saya, yang memunculkan kotak dialog yang mengatakan bahwa tidak ada file my.ini yang ditemukan di C: \ Program Files \ MySQL \ MySQL Server 5.0 \ my.ini (tetapi satu akan dibuat). Agak membingungkan karena saya menjalankan versi MySQL yang lebih baru, dan itu diinstal di tempat lain. Jadi, tidak cukup di dasar misteri ini.
gwideman
9

Anda dapat menemukan file my.ini di windows di lokasi ini- C: \ ProgramData \ MySQL \ MySQL Server 5.6

folder ProgramData adalah folder tersembunyi, jadi buat pengaturan yang sesuai untuk melihat folder itu. Dan buka file my.ini sebagai administrator untuk mengedit dan kemudian menyimpannya.

anubhs
sumber
9

Dijawab hanya untuk pengguna MySQL Workbench,

masukkan deskripsi gambar di sini

MAKS
sumber
4

Dalam kasus saya, folder ProgramDatatersebut disembunyikan secara default di windows 7, jadi saya tidak dapat menemukan my.inifile.

Setelah memilih acara yang tersembunyi file dan folder option, saya bisa menemukan my.inifile pada lokasi: C:\ProgramData\MySQL\MySQL Server 5.6.

Menampilkan file dan folder tersembunyi di windows 7:

  1. Klik kanan tombol Logo Windows dan pilih Buka Windows Explorer.

  2. Klik Atur dan pilih Folder dan Opsi Pencarian.

  3. Klik tab Lihat, pilih Tampilkan file dan folder tersembunyi, lalu kosongkan kotak centang Sembunyikan file operasi sistem yang dilindungi.

  4. Klik Yes pada peringatan tersebut dan kemudian klik OK.

Rahul Dave
sumber
2

Ada di C: \ Program Files \ MySQL \ MySQL Server 5.5 ada berbagai file .ini dengan nama kecil, sedang & besar. umumnya media digunakan atau tergantung kebutuhan Anda.

Raul
sumber
Ups ... Saya pikir secara default my.ini harus digunakan. Anda benar tentang semua file ini. Mereka ada di direktori instal. Bagaimana Anda memastikan mana yang digunakan? Nah, saya hanya akan memindahkan file sementara dan melihat apakah layanan mysql restart atau tidak.
Sap
Anda dapat menggunakan salah satu dari mereka berdasarkan kebutuhan Anda. peti file my.ini dengan menyalin konten dari salah satu file ini (ikuti jawaban yang disebutkan di bawah untuk perintah) kemudian Anda dapat menggunakan atau menyesuaikan my.ini & mysql Anda juga akan menggunakan file my.ini ini
Raul
2

programDataadalah folder tersembunyi sehingga Anda harus mengubah opsi dari pengaturan untuk menampilkan folder tersembunyi dan kemudian membuat perubahan pada my.inifile yang ada di dalamnya.

Pastikan untuk memperbarui my.inifile yang benar karena dapat membuang banyak waktu Anda jika Anda terus memperbarui file yang salah.

Anda dapat melihat ke layanan untuk melihat yang my.inidikonfigurasi dalam layanan ini.

Pavan Gilda
sumber
2

Tekan tombol windows> ketik layanan> tekan enter> Cari mysql di daftar> klik kanan> properti> Path to Executable akan memiliki lokasi file default tepat di bawahnya (my.ini)

Mitchell K Mortensen
sumber
1

Buka run console type: services.msc cari: mysql right click properties dimana tertulis "path to executable", klik dan pindahkan kursor ke kanan sampai anda melihat direktori my.ini, tertulis "defaults-file- ". untuk menjangkaunya secara manual di folder jelajah Anda, Anda harus mengaktifkan visualisasi elemen tersembunyi (jelajahi folder> menu atas> visualisasi> visualisasikan elemen tersembunyi)

seperti yang dijelaskan oleh video ini

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

Tms91
sumber
0

Saya menemui masalah yang sama ketika saya menginstal MSI pada MySQL dan tidak ada file my-medium.ini juga ketika saya mencoba langkah-langkah di atas. Hanya menginstal file ZIP MySQL yang membantu saya. Jadi, saya sarankan Anda untuk menghapus folder yang diinstal MSI dan menginstal ulang menggunakan file ZIP.

Pabita Allada
sumber
0

di Windows jika MySQL diinstal sebagai layanan, Anda dapat mengubah binpath layanan tersebut. Sebagai contoh

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

spasi setelah binpath itu penting. Anda harus menghindari tanda kutip ganda

pengguna3498126
sumber