মাইএসকিএল পরিষেবা শুরু / বন্ধ করতে পারবেন না


28

মাইএসকিউএল চালানোর সাথে সাথে একটি ডেবিয়ান এ্যাচ ওয়েব সার্ভার গ্রহণ করা।

আমি সাধারণত ব্যবহার করে এমসিকিএল শুরু করি, থামি এবং পুনরায় চালু করি:

/etc/init.d/mysql পুনরায় আরম্ভ করুন

এই সেট আপের কোনও কারণে আমি নিম্নলিখিতটি পেয়েছি:

: ~ # /etc/init.d/mysql স্টপ

মাইএসকিউএল ডাটাবেস সার্ভার থামানো হচ্ছে: মাইএসকিএলডি ব্যর্থ হয়েছে!

মাইএসকিএল প্রক্রিয়াটি ভাল চলছে:

:~# ps aux | grep mysql 
root      2045  0.0  0.1   2676  1332 ?        S    Jun25   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     2082  0.6 10.7 752544 111188 ?       Sl   Jun25  18:49 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
root      2083  0.0  0.0   1568   504 ?        S    Jun25   0:00 logger -p daemon.err -t mysqld_safe -i -t mysqld
root     11063  0.0  0.0   2856   716 pts/0    S+   17:29   0:00 grep mysql

আমি নিশ্চিত যে এটি করার কিছু সত্যিই সহজ উপায় আছে তবে আমি বুঝতে চাই যে এটি কী চলছে। আদর্শ উপায় আমার পক্ষে কাজ করছে না কেন?

আপডেট হিসাবে আপডেট করুন:

JBRLSVR001:/var/log/mysql# mysqladmin shutdown
JBRLSVR001:/var/log/mysql# dpkg --list mysql\*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed 
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name                                         Version                                      Description
 +++-============================================-============================================-========================================================================================================
un  mysql-client                                 <none>                                       (no description available)
un  mysql-client-4.1                             <none>                                       (no description available)
ii  mysql-client-5.0                             5.0.32-7etch8                                mysql database client binaries
ii  mysql-common                                 5.0.32-7etch8                                mysql database common files (e.g. /etc/mysql /my.cnf)
un  mysql-common-4.1                             <none>                                       (no description available)
ii  mysql-server                                 5.0.32-7etch8                                mysql database server (meta package depending on the latest version)
un  mysql-server-4.1                             <none>                                       (no description available)
ii  mysql-server-5.0                             5.0.32-7etch8                                mysql database server binaries

mysqladmin শাটডাউন কাজ করে তবে আমি এখনও আগ্রহী কেন /etc/init.d/mysql কমান্ডগুলি কাজ করছে না।


আমার জন্য বিষয়টি হ'ল হাতে তৈরি ইনস্টলেশনটি /tmp/mysql.sockপরিবর্তে সন্ধান করা হয়েছিল /var/run/mysqld/mysqld.sock। সুতরাং দেবিয়ান রক্ষণকারীদের স্ক্রিপ্টটি নীরবে একটি ত্রুটি জারি করছিল। আপনি শুধু ঠিক করতে socket=/etc/mysql/debian.cnf
Yvan

উত্তর:


25
mysqladmin shutdown

সার্ভার বন্ধ করতে কাজ করা উচিত।

আমি দুটি সম্ভাব্য সম্ভাবনা দেখতে পাচ্ছি:

  1. মাইএসকিউএলে একটি সমস্যা আছে এবং কোনও কারণে এটি বন্ধ করতে অস্বীকার করছে।
  2. আগের অ্যাডমিন অদ্ভুত কিছু করেছিল। হয় init.d স্ক্রিপ্টটি সংশোধন করেছেন বা মাইএসকিউএল ইনস্টল করার জন্য ডেবিয়ান প্যাকেজগুলি ব্যবহার করে মোটেই বিরক্ত করেননি।

কি dpkg --list mysql\*বলে?

/Var/log/mysql.err কী বলে? নাকি অন্য মাইএসকিএল লগস?

সম্পাদনা করুন:

তাই কি mysqladmin shutdownকাজ?

সেই অনুসারে, মাইএসকিএল-সার্ভার প্যাকেজ ইনস্টল করা হয়েছে (মাইএসকিএল-সার্ভার -৫.০; মাইএসকিএল-সার্ভার প্যাকেজ সম্ভবত একটি স্টাব)। সুতরাং তারা কি এটির উপর ইনস্টল করে থাকতে পারে? দৌড়াদৌড়ি debsums mysql-server-5.0আপনাকে আরও বলতে পারে। dpkg --listfiles mysql-server-5.0সাহায্য করতে পারে, ...

আসলে /etc/init.d/mysql এ কী আছে? আমি প্যাকেজের সেই নির্দিষ্ট সংস্করণটি পরীক্ষা করে দেখিনি, তবে এটি ব্যবহারের চেষ্টা করা উচিত mysqladmin shutdown... সম্ভবত আপনি ভাগ্যবান এবং তারা কেবল এটি ভেঙে দিয়েছে ...


চিয়ার্স, পোস্টে আরও কিছু তথ্য যুক্ত।
ডেরেক অরগান

আমার সন্দেহ হয় যে তারা ডেবিয়ান প্যাকেজগুলি মাইএসকিএল ইনস্টল করতে ব্যবহার করেনি
ডেরেক অরগান

কেউ একবার ডেবিয়ান প্যাকেজ ব্যবহার করেছেন, কমপক্ষে। তারা উত্স থেকে সংকলন করে প্রকৃত ফাইলগুলি
ওভাররোট করতে

22

কেন এমন হচ্ছে

এটি একটি সাধারণ সমস্যা যদি আপনি কোনও মাইএসকিএল আমদানি করেন এবং মাইএসকিএল ডাটাবেস নিজেই ওভাররাইট করে, যেমন আপনি কখন কোনও মাইএসকিल्ड্প -এ ব্যাকআপ থেকে পুনরুদ্ধার করছেন।

এটি একটি ভাল জিনিস: আপনি সম্ভবত আপনার সমস্ত মাইএসকিএল ব্যবহারকারী, অনুমতি ইত্যাদির ব্যাক আপ নিতে চান - তবে এটি ডেবিয়ান-সিএস-মেটার্ন ব্যবহারকারী যেমন পরিষ্কারভাবে শাটডাউন মাইএসকিএল ব্যবহার করে এমন জিনিসগুলির সাথে বিপর্যয় ডেকে আনতে পারে।

যদিও এই নতুন ডাটাবেসটি সম্ভবত মূল পাসওয়ার্ড এবং ডেবিয়ান-সিজ-রক্ষণাবেক্ষণ পাসওয়ার্ড উভয়ই পরিবর্তন করবে, অবশ্যই এটি /etc/mysql/debian.cnf- তে স্বয়ংক্রিয়ভাবে প্রত্যাশিত ডেবিয়ান-সিস-সংরক্ষণের পাসওয়ার্ড পরিবর্তন করবে না। প্রকৃতপক্ষে, আপনি যদি সেই ফাইলটির ব্যাক আপ না রাখেন, আপনি সম্ভবত জানেন না যে সেই পাসওয়ার্ডটি আর কি!

মাইএসকিএল মূল পাসওয়ার্ড পুনরায় সেট করা (alচ্ছিক)

আগেরটা আগে. যদি মাইএসকিএল রুট পাসওয়ার্ডটি পুরানো এবং নতুন সার্ভারগুলির মধ্যে পৃথক ছিল, তবে আপনি এটি ঠিক করতে মাইসক্ল্যাডমিন ব্যবহার করতে পারেন:

mysql -p -u root password 'newpassword'

তবে, যখন আপনি মাইএসকিএল-সার্ভার ইনস্টল করেছেন, সম্ভবত এটি আপনাকে নতুন মাইএসকিএল রুট পাসওয়ার্ডের জন্য অনুরোধ করেছিল এবং আপনি সম্ভবত আগেরটি ব্যবহার করেছেন one

ডেবিয়ান sys পাসওয়ার্ড ঠিক করুন।

সুতরাং এখন আপনি নতুন সার্ভারে ইনস্টল করার সময় ডেবিয়ান আপনার জন্য ডেবিয়ান তৈরির পাসওয়ার্ড সন্ধান করুন। (আপনার সুডো দরকার কারণ এটি একটি উচ্চ সুরক্ষিত ফাইল হওয়া উচিত))

sudo cat /etc/mysql/debian.cnf

এখন, আপনি উপরে সেট করা মূল পাসওয়ার্ডটি ব্যবহার করে মাইএসকিএল-এ লগ ইন করুন:

mysql -p -u root   # use your new password when prompted

ডেবিয়ান-সিজ-রক্ষণাবেক্ষণকারী ব্যবহারকারীর জন্য পাসওয়ার্ডটি পুনরায় সেট করুন এবং সুবিধাগুলি ফ্ল্যাশ করতে ভুলবেন না:

>  SET PASSWORD FOR 'debian-sys-maint'@'localhost' = PASSWORD('samepassword');
>  FLUSH PRIVILEGES;
>  QUIT

এটি কাজ করে তা নিশ্চিত হওয়ার জন্য পরীক্ষা করুন:

sudo /etc/init.d/mysql restart

দ্রুত নির্দেশনা

আপনার যদি কখনও সার্ভারটি নামিয়ে না নিয়েই সার্ভারের জন্য মূল পাসওয়ার্ডটি পুনরায় সেট করার দরকার হয় তবে এই ব্যবহারকারী অ্যাকাউন্টটি এটি করার ক্ষমতা রাখে - কেবলমাত্র ডেবিয়ান সিএনএফ ফাইলটিকে বিড়াল করুন এবং সেই ব্যবহারকারীর সাথে লগ ইন করুন। NB এই ব্যবহারকারীর অ্যাকাউন্টটিকে মূলের মতো সংরক্ষণ করুন।


2
ধন্যবাদ জ্যামিসন, এটি আমার সম্ভাব্য কয়েক ঘন্টা কাজ বাঁচিয়েছে।
২১

1
দুর্দান্ত, এবং সম্পূর্ণ স্বাগতম! আমি যে ফাইলটি স্বীকার করতে চাইছি তার চেয়ে অনেক বার আমাকে আবার
জ্যামিসন বেকার

1
উজ্জ্বল উত্তর। একটি ডাটাবেস ডাম্প আমদানি (এবং এটির সাথে, মূল পাসওয়ার্ড) আমার ক্ষেত্রে হুবহু কারণ ছিল। পার্থক্যটি হ'ল আমার ডিবিয়ান.সিএনএফ ফাইলটি "ডিবিয়ান-সিস-রক্ষণাবেক্ষণ" এর পরিবর্তে মাইএসকিএল "রুট" ব্যবহারকারী ব্যবহার করেছে। আমি কেবল ডিবিয়ান.সিএনএফ-এ রুট পাসওয়ার্ডটি রেখেছি এবং এখন আমি "পরিষেবা mysql <command>" এর মাধ্যমে মাইএসকিএল নিয়ন্ত্রণ করতে পারি।
টমাসজ পি। জাজিনালস্কি

6

আরও 2 টি ইঙ্গিত:

sh -x /etc/init.d/mysql restart

এটি আপনাকে init স্ক্রিপ্ট দ্বারা সম্পাদিত আদেশগুলি প্রদর্শন করবে।

প্যাকেজ ডাবসামগুলি ইনস্টল করুন এবং আপনি পরীক্ষা করতে পারবেন কোন প্যাকেজগুলি সংশোধিত হয়েছিল (যাচাইটি RPM এর জন্যও উপলব্ধ, তবে IMHO আরও ভাল কাজ করে)।


1
ওপি এবং এই কমান্ডটি চালিত হওয়ার মত একই সমস্যাটি আমার ছিল "Access denied for user 'debian-sys-maint'@'localhost'", যা একেবারে সঠিক ছিল: আমার মাইএসকিএল ডাটাবেসটিতে এখনও কোনও অনুমতি বরাদ্দ করা mysql stopহয়নি , সুতরাং ডাটাবেসে নিজেই শাট ডাউন করার অনুমতি নেই। একটি ম্যানুয়াল mysqladmin shutdownপুরোপুরি কাজ করে।
jevon

5
pkill mysql

অবশ্যই কাজ করবে


এটিই আমার প্রশ্নের সমাধান "মাইএসকিএল ডাটাবেস সার্ভার মাইএসকিএলডি বন্ধ করা ব্যর্থ হয়েছে"। আপনার এক মিলিয়ন পয়েন্ট পাওয়া উচিত!
হ্যানস ওয়াসিংক

2

প্যাকেজটি ধরে নেওয়া কিছুটা আশ্চর্যজনক সমস্যা পিড ফাইল হতে পারে। আমার সন্দেহ হয় যে নতুন প্যাকেজগুলি বা সংকলিত ইনস্টলটি / var / run / mysql / বা পিড ফাইলটি লেখার জন্য ডিবিয়ানের যা মানক তা নয় বা init স্ক্রিপ্টটি অন্য জায়গায় mysqld.pid ফাইল সন্ধান করছে। আপনি যদি init / pid ফাইলটি ঠিক করতে পারেন তবে মিলগুলি সম্ভবত কাজ করা উচিত probably


সার্ভার বন্ধ করার জন্য init স্ক্রিপ্ট পিড ফাইল ব্যবহার করে না।
39

2

মাইএসকিএল শাটডাউন স্ক্রিপ্টটি ডেবিয়ান-সিস-প্রিন্ট ব্যবহারকারীকে 'মাইসক্ল্যাডমিন শাটডাউন' চালানোর জন্য /etc/mysql/debian.cnf থেকে ব্যবহারকারীর জন্য পাসওয়ার্ড পড়ে ব্যবহার করে। আপনার এই ফাইলটি বিদ্যমান আছে কিনা তা পরীক্ষা করা উচিত এবং আপনি এই ব্যবহারকারী হিসাবে মাইসক্ল্যাডমিন শাটডাউন চালাতে পারেন।


1

আপনি প্রযুক্তিগতভাবে এটি দিয়ে শেষ করতে পারেন:

pkill -9 mysqld

কিন্তু আপনি কি ডেটা হারাতে পারেন?

Http://www.serverfault.com এ কাউকে জিজ্ঞাসা করা আপনার পক্ষে ভাল


আমি সেভাবে এটি সম্পর্কে সচেতন তবে আমি নিয়মিত যা করতে চাই তা ডিফো করি না।
ডেরেক অরগান

1

"প্যাকিল মাইএসকিএল" ব্যবহার করা আপনার ডেটাও হারাতে পারে, বিশেষত "পিকিল -9" হিসাবে আহ্বান করা হলে :(

আমি init স্ক্রিপ্টটিতে কী সমস্যা হতে পারে তা দেখতে 'sh -x' ব্যবহার করার পরামর্শ দিয়েছি এবং আপনি মাইএসকিউএল (/ var / লগ / মাইএসকিএল বা / ভেরি / লিবিব / মাইএসকিএল) এর ত্রুটি লগগুলিতে উঁকি দিতে পারেন , কনফিগারেশনের উপর নির্ভর করে) এটি সত্যিকারের দীর্ঘ চলমান ক্যোয়ারী বা কোনও কিছুর উপরে আটকা আছে কিনা এবং তা এখনও চমকপ্রদভাবে ছাড়তে রাজি নয় কিনা তা দেখার জন্য to


1

আপনার প্রশ্নের মন্তব্য অনুসরণ করতে, আমি একটি সম্পূর্ণ উত্তর লিখতে হবে:

সমস্যাটি হ'ল ডিফল্ট সকেটটি /tmp/mysql.sockমাইএসকিউএল উত্স এবং /var/run/mysqld/mysqld.sockডেবিয়ান বাইনারিগুলির সাথে।

সমাধান সকেট পথ ঠিক করতে হয়/etc/mysql/debian.cnf, ভাল প্রদানের মাধ্যমে socket=। বা এটি রেখে, তবে তারপরে একটিটি পরিবর্তন করুন /etc/mysql/my.cnf

আমি এটি কীভাবে খুঁজে পেয়েছি তা এখানে:: /etc/init.d/mysqlব্যর্থ »বার্তাটি দেওয়ার সময়, আপনি এই লাইনটি ডাকলেন:

echo -e "$ps_alive processes alive and '$MYADMIN ping' resulted in\n$ping_output\n" | $ERR_LOGGER -p daemon.debug

এটি আমার দিকে ইঙ্গিত করেছে $MYADMIN ping, যা mysqladmin --defaults-file=/etc/mysql/debian.cnf ping। এই আদেশটি চালানো শেষ হয়:

/ usr / bin / mysqladmin: 'লোকালহোস্ট' এ সার্ভারের সাথে সংযোগ ব্যর্থ হয়েছে

ত্রুটি: 'সকেটের মাধ্যমে স্থানীয় মাইএসকিউএল সার্ভারের সাথে সংযোগ স্থাপন করতে পারে না' /var/run/mysqld/mysqld.sock '(2)'

পরীক্ষা করুন যে মাইএসকিএলড চলছে এবং সকেট: '/var/run/mysqld/mysqld.sock' বিদ্যমান!

সুতরাং আমি একবার /etc/mysql/debian.cnfতাকিয়েছিলাম এবং এটি খারাপ সকেট ছিল।


0

নিম্নলিখিত কমান্ড ব্যবহার করুন:

$ মাইস্ক্লাডমিন শাটডাউন

এটি আপনার ক্ষেত্রে / usr / বিন ডিরেক্টরিতে পাওয়া উচিত।


0

ডিবিয়ানতে মাইএসকিএল (এবং সর্বাধিক অন্যান্য পরিষেবা) বন্ধ করতে আপনাকে সুপার ব্যবহারকারী হতে হবে।

আপনি ইতিমধ্যে আছেন বা না তা নিশ্চিত নন ... তা না হলে আপনার একটির প্রয়োজন

  • রুট হিসাবে লগ ইন করুন
  • আপনার /etc/init.d/mysql পুনর্সূচনা কমান্ডের আগে sudo রাখুন (এটি আপনাকে আপনার পাসওয়ার্ড চাইবে, এবং আপনাকে sudoers গ্রুপে থাকতে হবে)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.