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.