mysql সার্ভার আরম্ভ ব্যর্থ হয়েছে


28

আমি উবুন্টু সার্ভার চালাচ্ছি। আমি যখন মাইএসকিএল-এ লগইন করার চেষ্টা করেছি (যা চলছে), আমি নিম্নলিখিত ত্রুটিটি পেয়েছি

ERROR 2002 (HY000): Can't connect to local MySQL server through socket         '/var/run/mysqld/mysqld.sock' (2)

কিন্তু mysqld.sock ফাইলটি /var/run/mysqldফোল্ডারের ভিতরে নেই । ps aux | grep mysqlকমান্ড কার্যকর করার সময় , আমি বুঝতে পারি যে মাইএসকিএল সার্ভার চালু হচ্ছে না।

আমি তখন ব্যবহার করে মাইএসকিএল সার্ভার পুনরায় চালু করার চেষ্টা করেছি

service mysql start
service mysql restart
/etc/init.d/mysql start

তবে, সমস্ত তিনটি ক্ষেত্রে প্রারম্ভিক প্রক্রিয়া ব্যর্থ হয়েছিল। /var/log/mysql/mysql.logএবং /var/log/mysql/mysql.errফাইল খালি।

তবে /var/log/error.logনিম্নলিখিত তথ্যগুলি দেখায়:

140425 12:49:05 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
140425 12:49:05 [Note] Plugin 'FEDERATED' is disabled.
140425 12:49:05 InnoDB: The InnoDB memory heap is disabled
140425 12:49:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140425 12:49:05 InnoDB: Compressed tables use zlib 1.2.8
140425 12:49:05 InnoDB: Using Linux native AIO
140425 12:49:05 InnoDB: Initializing buffer pool, size = 3.0G
140425 12:49:05 InnoDB: Completed initialization of buffer pool
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 26214400 bytes!
140425 12:49:05 [ERROR] Plugin 'InnoDB' init function returned error.
140425 12:49:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140425 12:49:05 [ERROR] /usr/sbin/mysqld: unknown variable 'record_buffer=64M'
140425 12:49:05 [ERROR] Aborting

140425 12:49:05 [Note] /usr/sbin/mysqld: Shutdown complete


1
এর আউটপুট কি ls /var/lib/mysql/ib_logfile*?
— জবিন

ls: / var / lib / mysql / ib_logfile * অ্যাক্সেস করতে পারবেন না: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
— ananth

1
আপনার / var / lib / mysql ডিরেক্টরিটি কি mysql এর জন্য লেখার যোগ্য?
— জোস

1
আমি একটি লিনাক্স নবাগত..আমি chmod 777 ব্যবহার করে / var / lib / mysql এর অনুমতিগুলি পরিবর্তন করেছি । আপনি দয়া করে আমাকে পরামর্শ দিতে পারেন এটি কীভাবে সঠিকভাবে পরীক্ষা না করা যায় তা পরীক্ষা করে দেখুন?
— অনন্ত

উত্তর:


28

একটি টার্মিনাল ( Ctrl+ Alt+ t) খুলুন এবং নিম্নলিখিতটি করুন:

sudo service mysql stop
sudo rm /var/lib/mysql/ib_logfile0
sudo rm /var/lib/mysql/ib_logfile1

এবং লাইন মন্তব্য record_buffer=64Mমধ্যে /etc/mysql/my.cnf [1]

এবং তারপরে এমসিকিএল পুনরায় চালু করুন:

sudo service mysql restart

(সূত্র)


1
আপনার উল্লিখিত কমান্ডগুলি আমি চালিয়েছি ... সুডো সার্ভিস মাইএসকিএল পুনরায় চালু হওয়ার পরে এটি একটি বার্তা দিয়েছে: অজানা উদাহরণ এবং শেল প্রম্পট উপস্থিত হয়নি (পুনঃসূচনাটি এখনও প্রায় 50 মিনিট থেকে চলছে)
— অনন্ত

1
এছাড়াও, এখন ত্রুটি লগ বলে: -140425 15:09:11 InnoDB: সর্বাধিক সমর্থিত ফাইল ফর্ম্যাটটি হচ্ছে বারাকুদা। 140425 15:09:12 ইনোডিবি: ব্যাকগ্রাউন্ড থ্রেডগুলি শুরু হওয়ার জন্য অপেক্ষা করছে 140425 15:09:13 ইনোডিবি: 5.5.37 শুরু হয়েছে; লগ অনুক্রম নম্বর 940942258188 140425 15:09:13 [ERROR] / usr / sbin / mysqld: অজানা ভেরিয়েবল 'রেকর্ড_বাফার = 64 এম' 140425 15:09:13 [এআরআরআর] 140425 15:09:13 বাতিল করা হচ্ছে: শাটডাউন শুরু হচ্ছে ... 140425 15:09:14 ইনোডিবি: শাটডাউন সম্পন্ন হয়েছে; লগ অনুক্রম নম্বর 940942258188 140425 15:09:14 [দ্রষ্টব্য] / usr / sbin / mysqld: বন্ধ করা সম্পূর্ণ
— ananth

না..আমি সুডো সার্ভিস মাইএসকিএল পুনরায় চালু করেছি।
— আনানথ

আপনি কি চেষ্টা করতে পারেন sudo service mysql start?
— জবিন

আমি চালানো মাইএসকিএল পুনরায় চালু করার প্রক্রিয়াটি মেরে ফেলব? এতে কি কোনও সমস্যা হবে ??
— আনান্থ

9

এটি আমার সমস্যার সমাধান করেছে:

mkdir /var/run/mysqld

touch /var/run/mysqld/mysqld.sock

chown -R mysql /var/run/mysqld

/etc/init.d/mysql restart


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

7

আমি নিম্নলিখিত উপায়ে সমস্যাটি সমাধান করেছি:

chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql -ldata=/var/lib/mysql/

অন্য প্রসঙ্গে, আমি এটির মুখোমুখি হয়েছি কারণ মাইএসকিএল ডিমন শুরু করতে ব্যর্থ হয়েছিল। কমান্ড দিয়ে ডেমন শুরু করুন - mysqld startএবং তারপরে পরিষেবাটি শুরু করার চেষ্টা করুন।


2

লগ ফাইলগুলিতে আমার একই ত্রুটি বার্তা এবং একই শূন্যতা ছিল। আমার কনফিগারেশন ফাইল (my.cnf) এ আমি উল্লেখ করেছি যে আমি [mysqld]-বিভাগে এই লাইনটি যুক্ত করে মাইসাম টেবিলগুলি ব্যবহার করতে চাই:

default-table-type = myisam

মাইএসকিএল আপগ্রেড করার পরে মনে হচ্ছে এটি মাইএসকিএল আরম্ভ করার কারণ নয়। আমি এটিকে পরিবর্তন করেছি:

default-storage-engine = myisam

এবং এখন সবকিছু ঠিকঠাক কাজ করে।


1

নতুন সোয়াপ স্পেস যুক্ত করে উপলভ্য র‌্যাম বাড়ানোও সহায়তা করতে পারে। পদক্ষেপ এখানে

নিশ্চিত হয়ে নিন যে আপনি প্রদর্শিত স্থানের চেয়ে ছোট আকারের স্ব্যাপফাইল তৈরি করেছেন

df -h

উদাহরণস্বরূপ আমার জন্য df- h এর আউটপুট ছিল:

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  1.2G  6.3G  16% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            492M   12K  492M   1% /dev
tmpfs           100M  336K   99M   1% /run

তাই আমি 2 জি ব্যবহার করে তৈরি করেছি

sudo fallocate -l 2G /swapfile

এবং তারপরে কেবল পরিষেবাটি শুরু করুন

sudo /etc/init.d/mysql restart

আশাকরি এটা সাহায্য করবে. শুভকামনা.


1

আমার সমাধান:

All /etc/rc1.d তে আছে কিনা তা পরীক্ষা করুন ... /etc/rc5.d মাইএসকিউএল স্ক্রিপ্টটি এস (প্রাক্তন এস 10 মাইএসকিএল) দিয়ে শুরু হয়, কে এস কে 10 মাইএসকিএল দিয়ে নয়।

ব্যাখ্যা: কে প্রিফিক্স স্টপ, ধরণের হত্যা পরিষেবা সহ লোড; এবং এস উপসর্গ শুরু পরামিতি দিয়ে শুরু হয়।

execute in terminal:   
(command        script action  runlevel)
---------------------------------------
sudo update-rc.d mysql enable  2
sudo update-rc.d mysql enable  3
sudo update-rc.d mysql enable  4
sudo update-rc.d mysql enable  5

1

আমার ক্ষেত্রে এটি একটি স্পেস ইস্যু ছিল। আপনার পর্যাপ্ত জায়গা বাকি আছে কিনা তা পরীক্ষা করে দেখুন।

থেকে /var/log/mysql/error.logআমি দুটি লাইন থেকে কিছু ইঙ্গিত পেয়েছি:

2018-08-04T05:25:29.519139Z 0 [ERROR] InnoDB: Write to file ./ibtmp1failed at offset 3145728, 1048576 bytes should have been written, only 704512 were writt$
2018-08-04T05:25:29.519145Z 0 [ERROR] InnoDB: Error number 28 means 'No space left on device'

আমি দেখতে পেলাম যে এটি একটি স্থানের সমস্যা।

root@xxx:/home/user1# df -h
Filesystem                            Size  Used Avail Use% Mounted on
udev                                  477M     0  477M   0% /dev
tmpfs                                 100M   11M   89M  11% /run
/dev/mapper/server1--osticket--vg-root  8.3G  7.9G     0 100% /
tmpfs                                 497M     0  497M   0% /dev/shm
tmpfs                                 5.0M     0  5.0M   0% /run/lock
tmpfs                                 497M     0  497M   0% /sys/fs/cgroup
/dev/vda1                             472M  467M     0 100% /boot
tmpfs                                 100M     0  100M   0% /run/user/1000

এখান থেকে, আমি দেখতে পেলাম যে ভার্চুয়াল সার্ভারে পর্যাপ্ত জায়গা বাকি নেই /dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /। এবং আমি ভার্চুয়াল ড্রাইভটি স্থানান্তরিত বা বাড়ানোর বিষয়ে ভেবেছিলাম, তবে আমি প্রথমে অপ্রয়োজনীয় ফাইলগুলি সরিয়ে নেওয়ার সিদ্ধান্ত নিয়েছি।

সুতরাং, প্রয়োজন নেই এমন ক্যাশে এবং ফাইলগুলি পরিষ্কার করতে হয়েছিল:

#apt-get clean
#apt-get -f autoremove

তারপরে, মাইএসকিএল দূষিত লগ ফাইলগুলি পরে সরাতে ভুলবেন না। আপনি যখন mysql পুনরায় চালু করবেন তখন এগুলি আবার উত্পন্ন হবে be

#service mysql stop
#cd /var/lib/mysql
#rm ib_logfile*
#service mysql start

আপনার মাইএসকিএল সার্ভার পরিষেবাটি পরীক্ষা করুন এবং এটি সম্ভবত আপ এবং চলমান

root@server1-osticket:/var/lib/mysql# service mysql status
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2018-08-04 23:07:24 WAT; 7min ago
  Process: 1559 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 1549 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 1558 (mysqld)
    Tasks: 29
   Memory: 280.3M
      CPU: 589ms
   CGroup: /system.slice/mysql.service
           └─1558 /usr/sbin/mysqld

Aug 04 23:07:19 server1-osticket systemd[1]: Starting MySQL Community Server...
Aug 04 23:07:24 server1-osticket systemd[1]: Started MySQL Community Server.
root@server1-osticket:/var/lib/mysql#

মামলা বন্ধ. আমি আসা করি এটা সাহায্য করবে.



0

আমি সেট আপ করার সময় আমার এই সমস্যা max_allowed_packet = 0.5Mহয়েছিল /etc/mysql/my.cnf।

আমি পরিবর্তন করে এটিকে মীমাংসিত max_allowed_packetথেকে 1M।


0

নিম্নলিখিত কমান্ডটি আমার সমস্যার সমাধান করে এবং এর পরে মাইএসকিএল শুরু হতে পারে ((এটি কিছু ক্ষেত্রে কার্যকর হতে পারে)

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