প্রশ্ন ওএস এক্স এ আমার MySQL লগ কোথায়?


আমি / var / লগ এবং / usr / local / mysql চেক করেছি এবং আমি লগ খুঁজে পাচ্ছি না। আমি একটি php ফাংশন সঙ্গে একটি ডাটাবেস সংযোগ স্থাপন একটি ত্রুটি সমস্যা সমাধান করার চেষ্টা করছি।


66
2017-07-18 15:58


উত্স




উত্তর:


Chealion উল্লেখ হিসাবে, আপনার msql ইনস্টল করা হতে পারে যে বিভিন্ন উপায় আছে। প্রতিটি যা আপনার তথ্য dir এবং / অথবা বিভিন্ন অবস্থানে লগ রাখবে। নিচের কমান্ডটি আপনাকে (এবং আমাদেরকে) কোথায় দেখতে হবে তার একটি ভাল ইঙ্গিত দেবে।

ps auxww|grep [m]ysqld

# Putting brackets around the first char is a `grep`+`ps` trick
# to keep it from matching its own process.
# Note: For zsh compatibility put quotes around the grep regex

আপনি এখানে যে কমান্ড ফলাফল পোস্ট করতে পারেন দয়া করে? আমার এই মত দেখাচ্ছে:

_mysql     101   0.0  0.3   112104  13268   ??  S    12:30AM   0:13.20 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql --user=mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid
root        76   0.0  0.0   600172    688   ??  S    12:30AM   0:00.02 /bin/sh /opt/local/lib/mysql/bin/mysqld_safe --datadir=/opt/local/var/db/mysql --pid-file=/opt/local/var/db/mysql/rbronosky-mbp.pid

এর থেকে আপনি দেখতে পারেন যে আমার দাতাদির /opt/local/var/db/mysql (কারণ আমি ম্যাকপোর্টের মাধ্যমে ইনস্টল করেছি)। আসুন এই পাঠ একটু বেশি ...

প্রথম লাইন থেকে আপনি আমার ডেমন দেখতে পারেন /opt/local/libexec/mysqld। দ্য mysqld সঙ্গে বলা যেতে পারে --verbose --help সমস্ত কমান্ড লাইন বিকল্পগুলির তালিকা পেতে (এবং এখানে গুরুত্বপূর্ণ / মূল্যবান অংশ!) অনুসরণ করা হবে যদি মানগুলি ব্যবহার করা হয় তবে আপনি কেবল আউটপুট চেক আউট করার পরিবর্তে mysqld চালু করছেন। মান আপনার কম্পাইল সময় কনফিগারেশন ফলাফল হয়, my.cnf ফাইল, এবং কোন কমান্ড লাইন বিকল্প। আমি এই বৈশিষ্ট্যটি শোষণ করতে পারব যেখানে আমার লগ ফাইলগুলি ঠিক আছে, যেমন:

/opt/local/libexec/mysqld --verbose --help|grep '^log'

আমার এই মত দেখাচ্ছে:

log                               /tmp/mysql.log
log-bin                           /tmp/mysql-bin
log-bin-index                     (No default value)
log-bin-trust-function-creators   FALSE
log-bin-trust-routine-creators    FALSE
log-error                         /tmp/mysql.error.log
log-isam                          myisam.log
log-queries-not-using-indexes     FALSE
log-short-format                  FALSE
log-slave-updates                 FALSE
log-slow-admin-statements         FALSE
log-slow-queries                  (No default value)
log-tc                            tc.log
log-tc-size                       24576
log-update                        (No default value)
log-warnings                      1

দেখ দেখ! বিশ্বের সমস্ত উপদেশ আমাকে সাহায্য করতে যাচ্ছে না কারণ আমার লগ ফাইলটি সম্পূর্ণভাবে অ-মানক অবস্থানে রাখা হয়েছে! আমি আমার মধ্যে রাখা /tmp/ কারণ আমার ল্যাপটপে, আমি রিবুট করতে আমার সমস্ত লগগুলি আলগা করতে পারছি না (আসলে আমি পছন্দ করি)।

আসুন এটি একসঙ্গে রাখি এবং আপনাকে একটি অলাইনার বানাই:

$(ps auxww|sed -n '/sed -n/d;/mysqld /{s/.* \([^ ]*mysqld\) .*/\1/;p;}') --verbose --help|grep '^log'

এক কমান্ডটি চালান এবং আপনার MySQL এর চলমান উদাহরণের জন্য সমস্ত লগগুলির একটি তালিকা পাবেন।

উপভোগ করুন!

এই বাশ-ফু সবকিছুর জন্য আমার প্রতিশ্রুতি মুক্ত করে আপনি মুক্ত উত্স।


85
2017-07-20 17:06



mysqladmin variables এখন সরাসরি ব্যবহারের পরিবর্তে বর্তমান মান পাওয়ার জন্য পছন্দের কমান্ড mysqld - John Cummings
@ জনকামিংস, উত্স? - Pacerier
আজ আমি কোন মন্তব্য সঙ্গে একটি ডাউন ভোট পেয়েছিলাম। আমি আমার সব উত্তর বজায় রাখা। এমনকি যে 10 বছর বয়সী। আপনি ডাউন ভোটিং দ্বারা কাউকে সাহায্য করছেন না। মতামত দিন! - Bruno Bronosky
@ জেএম 3 কে নিয়ে বিস্তারিত আলোচনা? আমি আর MacOS অ্যাক্সেস আছে। - Bruno Bronosky


এই তথ্য খুঁজে বের করার আরেকটি উপায় ব্যবহার করা হয় lsof

  1. এর PID খুঁজে পেতে কার্যকলাপ মনিটর ব্যবহার করুন mysql, অথবা ব্যবহার ps -ef | grep mysqld এটা খুঁজে পেতে।

  2. sudo lsof -p PID_OF_MYSQLD এবং দেখুন MySQL কোন ফাইল খোলা আছে।


9
2017-10-29 14:30





3 ধরনের মাইএসকিউএল / মারিয়াডিবি লগ আছে:

  • log_error ত্রুটি বার্তা লগ জন্য;
  • general_log_file সাধারণ জিজ্ঞাস্য লগ ফাইলের জন্য (যদি সক্রিয় থাকে general_log);
  • slow_query_log_file ধীর অনুসন্ধান লগ ফাইলের জন্য (যদি সক্ষম থাকে slow_query_log);

এই শেল কমান্ড দ্বারা উপরের লগের সেটিংস এবং অবস্থান পরীক্ষা করুন:

mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log

ডিফল্টরূপে লগগুলি আপনার তথ্য dir এ সংরক্ষণ করা হয়, তাই এই শেল কমান্ডের মাধ্যমে অবস্থানটি পরীক্ষা করুন:

mysql -se "SELECT @@datadir"

আপনার ত্রুটি লগ দেখতে, আপনি চালাতে পারেন:

sudo tail -f $(mysql -Nse "SELECT @@log_error")

আপনি যদি সাধারণ লগ সক্ষম করে থাকেন, এটি দেখতে, চালান:

sudo tail -f $(mysql -Nse "SELECT CONCAT(@@datadir, @@general_log_file)")

8
2018-06-09 15:09





এটি খুঁজে পেতে আমাকে কিছুক্ষণ সময় লাগবে ... এই অবস্থানটি চেষ্টা করুন: '

sudo vi /usr/local/mysql/data/YOUR-USERNAME.local.err

5
2017-07-25 15:32



খনি ছিল /usr/local/var/mysql/<USERNAME>.local.err - jonnysamps


ডিফল্টরূপে, সকল লগ ফাইলগুলি MySQL ডাটা ডিরেক্টরিতে তৈরি করা হয়।

সূত্র: MySQL ডকুমেন্টেশন

তুমি ব্যবহার করতে পার mysqlbinlog বাইনারি লগ ফাইলগুলি পড়তে / usr / local / mysql / data / (আমার ইনস্টলেশনে সব বাইনারি ছিল না)। কিছু ত্রুটি কেবল stderr নির্দেশ করা হয় যাতে আপনি চেক করতে পারেন /var/log/system.log যেমন.


3
2017-07-18 16:10



আমার MySQL ডির একটি তথ্য ডিরেক্টরি নেই। আমি সব / usr / স্থানীয় / mysql / ডিরেক্টরি জুড়ে দেখেছি এবং লগ খুঁজে পাচ্ছি না। MySQL কনফিগারেশন দেখতে কোন উপায় নেই? একটি phpinfo মত () - Tony
কিভাবে আপনি MySQL ইনস্টল হয়নি? ম্যাক ওএস এক্স সার্ভার, ম্যাকপোর্টস বা অফিসিয়াল মাইএসকিউএল প্যাকেজের সাথে প্রাক ইনস্টল মাইএসকিউএল? - Chealion


যে লগ ধারণ ফোল্ডার ব্যবহার ছাড়া আপনার অ্যাক্সেসযোগ্য হতে পারে না sudo:

sudo ls -l "/usr/local/mysql-5.0.51a-osx10.5-x86"
[..]
drwxr-x---   4 _mysql  wheel    136 Jul 10 23:06 data

যদি আপনি একটি বড় লগ ফাইল খুঁজে পান এবং যখন আপনি টাইম মেশিন ব্যবহার করেন, তখন আপনি পড়তে চাইতে পারেন সময় মেশিন কি করছেন? সার্ভার ফল্ট উপর।


0
2017-07-18 16:59



আমার কাছে কোন তথ্য নেই / usr / local / mysql - Tony


/Library/Logs/MySQL.log


-1
2017-07-18 16:53



আমি সেখানে অন্যান্য লগ দেখতে, কিন্তু MySQL নয় - Tony
ম্যাক ওএস এক্স সার্ভারের এই সংস্করণটি কি? সাধারণভাবে, আপনি / var / log / এবং / লাইব্রেরী / লগ / ম্যাক ওএস এক্স সার্ভারের অধীনে দেখতে চাইবেন। এই সমস্যাটির জন্য আরো নির্দিষ্ট, /var/log/system.log দেখুন, / var / mysql (যেমন .err লগ ফাইলগুলির মতো) তে কিছু ব্যবহার হতে পারে, তবে আমি (লিওপাড সার্ভারের ডিফল্ট কনফিগারে) এছাড়াও পূর্ববর্তী / লাইব্রেরি / লগ / MySQL.log। আপনি সকেট বা একটি নেটওয়ার্ক সংযোগ মাধ্যমে সংযোগ করার চেষ্টা করছেন? যদি পরের, আপনি সার্ভার প্রশাসনে "নেটওয়ার্ক সংযোগ সক্ষম করুন" (চিতাবাঘের উপর; টাইগারে এটি একটি অ্যাপ্লিকেশন / অ্যাপ্লিকেশন / ইউটিলিটিগুলিতে একটি পৃথক অ্যাপ্লিকেশন ছিল)? - morgant