কোন মাইএসকিউএল কনফিগারেশন ফাইল ব্যবহার করা হচ্ছে তা নির্ধারণ করুন


142

মাইএসকিউএল 5.0 বর্তমানে কোন কনফিগারেশন ফাইলটি ব্যবহার করছে তা নির্ধারণের জন্য কোনও আদেশ রয়েছে?

উত্তর:


60

আপনি যদি লিনাক্সে থাকেন, তবে straceউদাহরণস্বরূপ 'mysqld' দিয়ে শুরু করুন strace ./mysqld

অন্যান্য সমস্ত সিস্টেম কলগুলির মধ্যে আপনি এমন কিছু পাবেন:

stat64("/etc/my.cnf", 0xbfa3d7fc)       = -1 ENOENT (No such file or directory)
stat64("/etc/mysql/my.cnf", {st_mode=S_IFREG|0644, st_size=4227, ...}) = 0
open("/etc/mysql/my.cnf", O_RDONLY|O_LARGEFILE) = 3

সুতরাং, যেমন আপনি দেখতে পাচ্ছেন..এটি .cnf ফাইলগুলি তালিকাভুক্ত করে, যা এটি ব্যবহারের চেষ্টা করে এবং শেষ পর্যন্ত ব্যবহার করে।


9
এবং কোনও গণ্ডগোল না করে চলমান সিস্টেমে কীভাবে এটি করবেন?
মিলান বাবুভকভ

5
@ মিলানবাবুভকভ আপনার ps auxfমাইএসকিউএল জন্য চালিত কমান্ডটি চালাবেন এবং সন্ধান করুন। সাধারণত এটির মতো দেখতে mysqld --basedir=/usr/local/mysql ...( যেমন নোট করুন ... কেবলমাত্র এর অর্থ হ'ল কমান্ডে আরও বেশি পতাকা থাকতে পারে তবে আমি তার সবগুলিই তালিকাভুক্ত করব না) একবার আপনি এটি সন্ধান করলে, পুরো জিনিসটি অনুলিপি করুন এবং তারপরে মাইএসকিউএল বন্ধ করুন। আপনি লিনাক্স করছি যদি তা না হয় /etc/init.d/mysqld stopবা mysqladmin -u root -p shutdown। তারপরে straceআপনার অনুলিপি করা মাইএসকিএল কমান্ডটি দিয়ে চালান । সুতরাং এটির মতো দেখতে হবে:strace mysqld --basedir=/usr/local/mysql
হেনজি

আমার open(...লাইন নেই পরিবর্তে আমার 4 টি লাইন রয়েছে যা শেষ হয় = -1 Err#2। আপনি এখন কীভাবে জানবেন কোন ফাইলটি লোড হয়েছে?
এমজিপিপি

4
তবে, একটি ম্যাকের উপর আপনি স্ট্রেসের পরিবর্তে ডিটিআরএস ব্যবহার করতে পারেন: sudo dtruss mysqld 2>&1|grep my.cnf@ এমজিপিপি, এই আউটপুটটির অর্থ সম্ভবত ফাইলগুলির কোনওটি পাওয়া যায় নি তাই কোনও কিছুই খোলেনি।
প্রাণবন্ত

268

চমত্কার "হাই পারফরম্যান্স মাইএসকিউএল" ও'রিলি বই থেকে নেওয়া:

$ which mysqld
/usr/sbin/mysqld

$ /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
Default options are read from the following files in the given order:
/etc/mysql/my.cnf ~/.my.cnf /usr/etc/my.cnf

2
এবং আমি ধরে নিলাম শেষ ফাইলটি তালিকাভুক্ত জয়?
mlissner

5
এটি অদ্ভুত .. আমি তাদের প্রত্যেককে পরীক্ষা করেছিলাম এবং তারা সবাই খালি (আমার ম্যাকে) .. কোনও ধারণা কেন?
Abbood

7
এটি বোঝা কনফিগারেশন দেয় না। পরিবর্তে সম্ভব কাস্টম কনফিগারেশন যা লোড করা হতে পারে
এমজিপিপি

4
আমি মনে করি না এটি দ্বারা নির্দিষ্ট করা ফাইলগুলি তালিকাভুক্ত করবে !includedir!includedirআমার /etc/mysql/my.cnfফাইলে নির্দেশিকা কেন কাজ করছে না তা বোঝার চেষ্টা করছি ।
বাটল বুটকাস

2
কেন আপনাকে mysqldপুরো পথ দিয়ে কল করার দরকার পড়বে ?!
প্যানিপিটার

65

আপনি mysql --verbose --help | lessএটি চালালে এটি 11 টি লাইন সম্পর্কে বলবে যে .cnfএটি কোন ফাইলগুলি সন্ধান করবে।

এছাড়াও আপনি কি করতে পারেন mysql --print-defaultsআপনি দেখাতে কিভাবে কনফিগারেশন মান এটা ব্যবহার করবে। এটি কোন কনফিগার ফাইলটি লোড হচ্ছে তা সনাক্ত করতেও এটি কার্যকর হতে পারে।


1
+1 কারণ এটি এটি করার মাইএসকিএল প্রস্তাবিত উপায়। উইন্ডোজের জন্য একটি সহজ উপায় হ'ল যদি আপনি সামগ্রীটি বিশ্লেষণ করতে চান তবে কোনও ফাইলের আউটপুট ডাম্প করা।
kta

উইন্ডোজগুলিতে, এটি আমাকে অবস্থানগুলির একটি তালিকা বলেছিল তবে সঠিক নয়, এর পরিবর্তে আমি মাইএসকিএল ওয়ার্কবেঞ্চ ( স্ট্যাকওভারফ্লো . com /a/ 17953456 / 1504300 ) দিয়ে সন্ধান করতে চাই।
সত্যই চমৎকার

3
এটি গুরুত্বপূর্ণ কিনা তা নিশ্চিত নন, তবে আপনি mysqldপরিবর্তে ব্যবহার করতে চাইতে পারেনmysql
এনএল-এক্স

2
এবং এখনও উইন্ডোজ আমি অভিজ্ঞ যে my.ini প্রোগ্রামডাটা ডিরেক্টরি থেকে পড়া হয়, এবং এটি এখানে প্রস্তাবিত উত্তর প্রদর্শিত হবে না।
nl-x

2
জন্য উত্সাহিত mysqld --print-defaults, যখন আমি এই প্রশ্নটি googled এটি ঠিক কি চেয়েছিলেন।
প্রতি লন্ডবার্গ

28

আমি উইন্ডোতে আছি এবং আমি মাইএসকিউএল সম্প্রদায়ে 5.6 এর সর্বশেষতম সংস্করণ ইনস্টল করেছি installed

কনফিগারেশন ফাইলটি কী ব্যবহার করে তা দেখতে আমি যা করেছি তা হ'ল প্রশাসনিক সরঞ্জামসমূহ> পরিষেবাদি> মাইএসকিউএল 56> রাইট ক্লিক করুন> বৈশিষ্ট্যগুলি এবং কার্যকর করার যোগ্য পথটি পরীক্ষা করা:

"সি: / প্রোগ্রাম ফাইল / মাইএসকিউএল / মাইএসকিউএল সার্ভার 5.6 / বিন \ মাইকিকিএলডি" --defaults-file = "সি: \ প্রোগ্রামডাটা \ মাইএসকিউএল \ মাইএসকিউএল সার্ভার 5.6 \ my.ini" মাইএসকিউএল 55


এটি মাইএসকিউএল 5.7 এর জন্যও কাজ করে। এটি C:\ProgramData\MySQL\MySQL Server 5.7\my.iniডিফল্টরূপে।
রায়ান শিলিংটন

18

একটি বিকল্প ব্যবহার করা হয়

mysqladmin variables

2
এটি আসলে বলতে পারে না যে সিএনএফ ফাইলটি আমার ভেরিয়েবলগুলিতে। আমি বর্তমানে মাইএসকিউএল 5.5.20 চালাচ্ছি। যাইহোক, আমি বলতে পারি যে এটি একবারে ভেরিয়েবলের আগে দেখেছি বলে এটি কাজ করেছিল। 5.5 এ যাওয়ার পরে সম্ভবত কিছু পরিবর্তন হয়েছে changed
হেনজি

13

mysqld --help --verbose বিপজ্জনক। চলমান উদাহরণের জন্য আপনি পিডফাইলে সহজেই ওভাররাইট করতে পারেন! এটি --pid-file = XYZ দিয়ে ব্যবহার করুন

ওহ, এবং যদি আপনার 1 টিরও বেশি ইনস্ট্যান্স চলমান থাকে তবে আপনি সত্যই এটি ব্যবহার করতে পারবেন না। এটি কেবল আপনাকে ডিফল্ট মান দেখাবে।

এটি সম্পর্কে সত্যিই ভাল নিবন্ধ:

মাইএসকিউএল কনফিগারেশন ফাইলটি কীভাবে সন্ধান করবেন?


9

উবুন্টু সম্পর্কে সবেমাত্র একটি দ্রুত পরীক্ষা করেছেন:

  • ইনস্টল করা মাইকিকিএল-সার্ভার, যা /etc/mysql/my.cnf তৈরি করেছে

  • mysqld --verbose --help | গ্রেপ -A 1 "ডিফল্ট বিকল্পগুলি"

110112 13:35:26 [দ্রষ্টব্য] প্লাগিন 'FEDERATED' অক্ষম।
প্রদত্ত ক্রমে নিম্নলিখিত ফাইলগুলি থেকে ডিফল্ট অপশনগুলি পড়তে হবে:

  • /etc/my.cnf এবং /usr/etc/my.cnf তৈরি করেছেন, প্রত্যেকে আলাদা আলাদা পোর্ট নম্বর রয়েছে

  • পুনরায় আরম্ভ করা মাইএসকিএল - এটি /usr/etc/my.cnf তে পোর্ট নম্বর সেট ব্যবহার করছিল

ইতিমধ্যে mysqld --defaults-file বিকল্পটি খুঁজে পেয়েছে। আপনি যদি সেখানে একটি কনফিগার ফাইল নির্দিষ্ট করে থাকেন তবে / usr / sbin / mysqld --verbose --help | যা ফিরে আসে তা নির্বিশেষে কেবলমাত্র এটিই ব্যবহৃত হবে will গ্রেপ -A 1 "ডিফল্ট বিকল্পগুলি"


4

মাইএসকিউএল ওয়ার্কবেঞ্চ ব্যবহার করে এটি "সার্ভার স্থিতি" এর অধীনে প্রদর্শিত হবে: এখানে চিত্র বর্ণনা লিখুন


3

আমি এটি সত্যিই দরকারী বলে মনে করেছি:

  1. এর অধীনে পরিষেবাদিতে মাইএসকিউএল প্রক্রিয়াটি সন্ধান করুন Control Panel -> Administration Tools
  2. মাউসের ডান ক্লিক করুন এবং চয়ন করুন Properties
  3. ক্লিক করুন এবং নির্বাচন করুন Path to executableএবং দেখুন যে এটিতে পাথ রয়েছেmy.ini/my.cfg

1
এটি আমার সার্ভার ২০০৮ এ ইনস্টল করার জন্য ধন্যবাদ, ধন্যবাদ।
ডেলিওটগ

2

কিছু সার্ভারে একাধিক মাইএসকিউএল সংস্করণ ইনস্টল এবং কনফিগার করা আছে। আপনি ইউনিক্স কমান্ডের সাথে চালিত সঠিক সংস্করণটি ব্যবহার করছেন তা নিশ্চিত করুন:

ps -ax | grep mysql

1

সার্ভিস হিসাবে মাইএসকিএল দিয়ে উইন্ডোজ সার্ভার চালিত লোকদের জন্য, আপনি কোন কনফিগার ফাইলটি চালাচ্ছেন তার সন্ধানের একটি সহজ উপায় হ'ল পরিষেবাদি নিয়ন্ত্রণ প্যানেলটি খুলুন, আপনার মাইএসকিএল পরিষেবাটি সন্ধান করুন (আমার ক্ষেত্রে 'এমওয়াইএসকিউএল ৫6'), ডান ক্লিক করুন এবং বৈশিষ্ট্যগুলি ক্লিক করুন । তারপরে এখান থেকে আপনি "এক্সিকিউটেবলের পথে" পরীক্ষা করতে defaults-fileপারেন যা আপনার কনফিগারেশন ফাইলটি কোথায় তা নির্দেশ করে এমন একটি সুইচ থাকা উচিত ।


1

আপনি যদি ম্যাক চালাচ্ছেন তবে এটি দ্বারা অর্জনও করা যেতে পারে:

sudo dtruss mysqld 2>&1 | grep cnf

1

আপনি যদি উইন্ডোতে থাকেন তবে আপনি সিসিনটার্নালস প্রোমন ব্যবহার করতে পারেন । এটি খুলুন এবং এটির মতো ফিল্টার সেটিংটি কনফিগার করুন, তারপরে "যুক্ত করুন" এ ক্লিক করুন। এখন প্রোমমন মাইএসকিএলডি নিরীক্ষণ করবে।

এখানে চিত্র বর্ণনা লিখুন

এখন আপনার মাইএসকিএল সার্ভারটি স্বাভাবিক হিসাবে শুরু করুন। প্রোকমন মাইএসকিএল এর পটভূমি ক্রিয়াকলাপ ক্যাপচার করবে। "আমার" অনুসন্ধান করুন। প্রোমন ফলাফল ফলকে এবং আপনি নীচের মতো কিছু পাবেন:

এখানে চিত্র বর্ণনা লিখুন

এটি পরিষ্কার যে মাইএসকিএল পরিবর্তে কনফিগারেশন ফাইলগুলির একটি তালিকা অনুসন্ধান করে। আমার ক্ষেত্রে এটি C:\mysql-5.7.19-winx64\my.cnfসফলভাবে পাওয়া গেছে তাই এটি এটি ব্যবহার করছে।


এটি মূলত উইন্ডোজের জন্য শীর্ষের উত্তরের সমতুল্য। ধন্যবাদ.
অ্যারন ওয়াল্যান্টাইন

0

আমি মাইএসকিএল ব্যবহার ব্রিউ ইনস্টল মাইএসকিএল

mysqld --verbose --help | less

এবং এটা দেখায়:

এখানে চিত্র বর্ণনা লিখুন

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