হোমব্রিউ মাইএসকিএল ইনস্টলগুলির জন্য, আমার সিএনএনএফ কোথায়?


293

হোমব্রিউ মাইএসকিএল ইনস্টলগুলির জন্য, আমার সিএনএনএফ কোথায়? এটি একটি ইনস্টল করে?

উত্তর:


263

ডিফল্টরূপে কোনও my.cnf নেই। যেমন, মাইএসকিউএল সমস্ত ডিফল্ট সেটিংস দিয়ে শুরু হয়। আপনি যদি কোনও ডিফল্টকে ওভাররাইড করতে নিজের নিজস্ব c.cnf তৈরি করতে চান তবে এটি /etc/my.cnf এ রাখুন।

এছাড়াও, আপনি mysql --helpতালিকাবদ্ধ তালিকাভুক্ত অবস্থানগুলির জন্য এটি চালিয়ে দেখতে পারেন ।

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
The following groups are read: mysql client
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit.
--no-defaults           Don't read default options from any option file.
--defaults-file=#       Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.

আপনি দেখতে পাচ্ছেন, কনফার্ট ফাইলগুলি বাইপাস করার জন্য বা কমান্ড লাইনে যখন মাইএসকিএল আহ্বান করবেন তখন অন্যান্য ফাইলগুলি পড়ার জন্য নির্দিষ্ট কিছু বিকল্প রয়েছে।


49
এটি আর মনে হয় না; আমি /usr/local/Cellar/mysql/5.6.15/ এ (অথবা আপনি যে কোনও সংস্করণ ইনস্টল করেছেন) একটি my.cnf ফাইল দেখতে পেয়েছি
উইলিয়াম টারেল

6
@ উইলিয়ামট "মাইএসকিএল - হেল্প" ফাইলটি ব্যবহৃত হচ্ছে না বলে তালিকাভুক্ত করে না, আমি মনে করি এটি কেবলমাত্র একটি ডিফল্ট যা ইনস্টলেশন ফাইলগুলির সাথে আসে
ভিনিসিয়াস পিন্টো ২ '

2
আমি 5.6.26 এ আছি এবং আমি এটি সেখানে দেখছি না।
অ্যাডাম গ্রান্ট

3
5.6.26 এ চালিয়ে লোকেট করা যায়: ls $(brew --prefix mysql)/*.cnf
ডানিয়েলগাম্পে

23
mysql --help | grep cnfলাইনগুলি পাওয়া খুব সহজ ছিল easier
ভিনিল

267

হোমব্রিউ মাইএসকিএল-এ ইনস্টলেশনের সহায়তা-ফাইল ফোল্ডারে নমুনা কনফিগারেশন ফাইল রয়েছে।

ls $(brew --prefix mysql)/support-files/my-*

আপনার যদি ডিফল্ট সেটিংস পরিবর্তন করতে হয় তবে আপনি এগুলির একটিটি একটি প্রাথমিক পয়েন্ট হিসাবে ব্যবহার করতে পারেন।

cp $(brew --prefix mysql)/support-files/my-default.cnf /usr/local/etc/my.cnf

@ রেডনো যেমন উল্লেখ করেছেন, মাইএসকিউএল এর হোমব্রব ইনস্টলটি সম্ভবত মাইএসএনএফ /usr/localফাইলটি সিস্টেম /etcফোল্ডারে যুক্ত করা উচিত নয় , তাই আমি ফাইলটি অনুলিপি করার জন্য আদেশটি পরিবর্তন করেছি /usr/local/etc

আপনি যদি মাইএসকিউএল এর চেয়ে মারিয়াডিবি ব্যবহার করেন তবে নিম্নলিখিতগুলি ব্যবহার করুন:

cp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf

4
sudo cp $(brew --prefix mysql)/support-files/my-default.cnf /etc/my.cnf
ম্যাট Clegg

7
তাহলে Homebrew মধ্যে মাইএসকিউএল ইনস্টল /usr/local/(যা ডিফল্ট আমি মনে করি হয়), এছাড়াও আপনি স্থাপন করতে পারেন my.confমধ্যে /usr/local/etc/, যা root ব্যবহারকারীর অধিকার উপস্থিত প্রয়োজন হয় না।
গীতারিক

1
ব্রিউ - প্রিফিক্স মাইএসকিএল সঠিক পথ দেয় না, আমার জন্য এটি '/usr/local/Cellar/mysql/5.7.16' দেখায়, তবে সত্যিই মারিয়্যাডবি '/ usr / স্থানীয় / অপ্ট / মারিয়্যাডবি /' এ ইনস্টলড রয়েছে
zhaozhi

@zhaozhi ব্যবহারের brew --prefix mariadb। মারিয়াডিবি বিতরণে my-default.cnfঅস্তিত্ব নেই - সুতরাং ব্যবহার করুন my-small.cnf। এটি ব্যবহার করে দেখুনcp $(brew --prefix mariadb)/support-files/my-small.cnf /usr/local/etc/my.cnf
ইলশে

এটির স্বীকৃত উত্তর হওয়া দরকার। প্রথমটি ভুল। জিজ্ঞাসিত প্রশ্নটি হোমব্রু সম্পর্কিত।
বাগহান্টরুক

30

এক উপায় খুঁজে বের করতে:

sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf

4
অসাধারণ উত্তর, আমি শিখলাম শিখতে। তবে ডিফল্টরূপে কোনও কনফিগার ফাইল নেই, নীচের উত্তরটি দেখুন
glebm

15
আপনি ওএসএক্সmdfind -name my.cnflocate
জ্যাকোপেন

আমার জন্য locate my.cnfসরাসরি কাজ করেছেন। আমি দৌড়াতে পারি নিsudo /usr/libexec/locate.updatedb
Andru

1
/usr/local/Cellar/mysql/8.0.16/.bottle/etc/my.cnfএবং /usr/local/etc/my.cnf আমি যা পেয়েছিলাম তা ছিল
ভিনসেন্ট টাং

18

কিছুই সত্যিই আমাকে সাহায্য করে নি - আমি /etc/my.cnf ফাইলে সেটিংস ওভাররাইট করতে পারি না। তাই আমি জন https://stackoverflow.com/a/7974114/717251 এর পরামর্শ দেওয়ার মতো সন্ধান করেছি

sudo /usr/libexec/locate.updatedb
# wait a few minutes for it to finish
locate my.cnf

এটি অন্য একটি মাই সিএনএফ খুঁজে পেয়েছে

/usr/local/Cellar/mysql/5.6.21/my.cnf

এই ফাইলটি পরিবর্তন করা আমার পক্ষে কাজ করেছে! লঞ্চ এজেন্টটি পুনরায় চালু করতে ভুলবেন না:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

হালনাগাদ:

আপনার যদি হোমব্রুয়ের মোটামুটি সাম্প্রতিক ইনস্টলেশন রয়েছে তবে আপনার মাইএসকিএল পুনরায় চালু করার জন্য ব্রিউ পরিষেবা কমান্ডগুলি ব্যবহার করা উচিত (আপনার ইনস্টলড হোমব্রিউ মাইএসকিএল সংস্করণ, অর্থাত্ mysql বা mysql@5.7 ব্যবহার করুন):

brew services stop mysql
brew services start mysql

আমি মনে করি আপনার কাছে চালাতে পারেন brew services stop mysqlএবং brew services start mysqlস্থানে launchctl unload ...লাইন।
mululse

1
এটি সত্য - তবে এই উত্তরটি লেখার সময় এই হোমব্রু কমান্ডগুলি এখনও পাওয়া যায় নি। আমি উত্তরটি আপডেট করব
নাবস্টার


13

যেহেতু mysql --helpফাইলগুলির একটি তালিকা দেখায়, ফলাফলগুলির পাইপ করা আমার পক্ষে দরকারী এটিগুলির মধ্যে lsকোনটি বিদ্যমান তা দেখতে:

$ mysql --help | grep /my.cnf | xargs ls
ls: /etc/my.cnf: No such file or directory
ls: /etc/mysql/my.cnf: No such file or directory
ls: ~/.my.cnf: No such file or directory
/usr/local/etc/my.cnf

আমার (হোমব্রু ইনস্টল) মাইএসকিউএল 5.7 এর জন্য, ফাইলগুলি চালু আছে বলে মনে হচ্ছে /usr/local/etc/my.cnf


10

আপনার শেল টাইপ my_print_defaults --help

ফলাফলের নীচে, আপনি যে ফাইলটি থেকে সার্ভারটি কনফিগারেশনগুলি পড়ছেন তা দেখতে পারা উচিত। এটি এরকম কিছু প্রিন্ট করে:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

5

my.cnfনির্দিষ্ট প্যাকেজ দ্বারা ফাইলটি কোথায় সরবরাহ করা হয়েছে তা আপনি আবিষ্কার করতে পারেন eg

brew list mysql # or: mariadb

সেই ফাইলটি পড়ে কিনা যাচাই করা ছাড়াও, আপনি চালাতে পারেন:

sudo fs_usage | grep my.cnf

যা আপনাকে সেই ফাইলের সাথে সম্পর্কিত রিয়েল-টাইমে ফাইল সিস্টেমের ক্রিয়াকলাপ দেখায়।


4

আমি বিশ্বাস করি উত্তরটি হ'ল না। ~ / .My.cnf বা / usr / স্থানীয় / ইত্যাদিতে একটি ইনস্টল করা পছন্দসই সমাধান বলে মনে হচ্ছে।


2
আমার এমবিপি-তে কেবল /etc/my.cnf আমাকে মাইএসকিএল-এর হোমব্রু ইনস্টলেশন প্রভাবিত করতে দেয়।
ewalshe

1

হোমব্রিউয়ের ক্ষেত্রে, মাইএসকিএল এর সেলার ডিরেক্টরিতে my.cnf সন্ধান করবে, উদাহরণস্বরূপ:

/usr/local/Cellar/mysql/5.7.21/my.cnf

কেসটির জন্য কেউ কনফিগারেশনটিকে বাইনারিগুলির কাছে রাখতে পছন্দ করে - my.cnfএটি অনুপস্থিত থাকলে এখানে তৈরি করুন।

পরিবর্তনের পরে mysql পুনরায় আরম্ভ করুন:

brew services restart mysql

1

সার্ভার সংস্করণ: 8.0.19 হোমব্রিউ। ম্যাকস ক্যাটালিনা 10.15.5 এবং হোমব্রিউয়ের মাধ্যমে মাইএসকিউএল ইনস্টল করেছে। এই ফাইলটি এখানে পেয়েছে:

/usr/local/etc/my.cnf

এই সমাধান সাহায্য করেছে :)


-1

MacOS (হাই সিয়েরা) জন্য, মাইএসকিউএল যা হোম ব্রু সহ ইনস্টল করা হয়েছে।

মাইএসকিএল পরিবেশ থেকে বৈশ্বিক ভেরিয়েবলগুলি বৃদ্ধি করা সফল হয়নি। সুতরাং সেই ক্ষেত্রে ~ / .my.cnf তৈরি করা সবচেয়ে নিরাপদ বিকল্প। [মাইএসকিএলডি] এর সাথে ভেরিয়েবল যুক্ত করা পরিবর্তনগুলি অন্তর্ভুক্ত করবে (দ্রষ্টব্য: আপনি যদি [মাইএসকিএল] দিয়ে পরিবর্তন করেন তবে পরিবর্তনটি কার্যকর হতে পারে না)।

<~ /।

মাইএসকিএল সার্ভার পুনরায় চালু করুন। এবং ভেরিয়েবল পরীক্ষা করুন। Y

এসকিউএল> নির্বাচন করুন সর্বাধিক_অনুসরণ_প্যাক্ট; + ---------------------- + | @@ সর্বাধিক_নীত_প্যাকেট | + ---------------------- + | 1073741824 | + + ---------------------- + +

1 সারি সেট (0.00 সেকেন্ড)


-1
  1. $ps aux | grep mysqld /usr/local/opt/mysql/bin/mysqld --basedir=/usr/local/opt/mysql --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/opt/mysql/lib/plugin

  2. আপনার my.cf ফাইলটি এতে ফেলে দিন /usr/local/opt/mysql

  3. brew services restart mysql

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.