mysql sunucusu başlatılamadı


28

Ubuntu sunucusunu çalıştırıyorum. (Çalışmakta olan) mysql giriş yapmaya çalıştığımda, aşağıdaki hatayı aldım

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

Ancak mysqld.sock dosyası /var/run/mysqldklasörün içinde mevcut değil . ps aux | grep mysqlKomutu çalıştırırken , mysql sunucusunun çalışmadığını fark ettim.

Daha sonra kullanarak mysql sunucusunu yeniden başlatmayı denedim

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

Ancak, başlangıç ​​işlemi her 3 durumda da başarısız oldu. /var/log/mysql/mysql.logve /var/log/mysql/mysql.errdosyalar boş.

Ancak /var/log/error.logaşağıdaki bilgileri gösterir:

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
Çıktı nedir ls /var/lib/mysql/ib_logfile*?
— jobin

ls: erişilemiyor / var / lib / mysql / ib_logfile *: Böyle bir dosya veya dizin yok
— ananth

1
/ Var / lib / mysql dizininiz mysql için yazılabilir mi?
— Jos

1
Ben linux acemiyim ... Ben chmod 777 kullanarak / var / lib / mysql izinlerini değiştirdim . Lütfen bunun doğru olup olmadığını nasıl kontrol edeceğimi söyler misin?
— ananth

Yanıtlar:


28

Bir terminal açın ( Ctrl+ Alt+ t) ve aşağıdakileri yapın:

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

ve hat açıklama record_buffer=64Molarak /etc/mysql/my.cnf [1]

ve sonra kullanarak msyql'yi yeniden başlatın:

sudo service mysql restart

(Kaynak)


1
Bahsettiğiniz komutları koştum .. Sudo hizmetini çalıştırırken mysql yeniden başlat, bir mesaj durdu: Bilinmeyen bir örnek ve kabuk istemi görünmedi (yeniden başlatma hala 50 dakikadan sonra çalışıyor)
— ananth

1
Ayrıca, şimdi hata günlüğü diyor: -140425 15:09:11 InnoDB: desteklenen en yüksek dosya biçimi Barracuda. 140425 15:09:12 InnoDB: Arkaplan konularının başlaması bekleniyor 140425 15:09:13 InnoDB: 5.5.37 başladı; log sıra numarası 940942258188 140425 15:09:13 [ERROR] / usr / sbin / mysqld: bilinmeyen değişken 'record_buffer = 64M' 140425 15:09:13 [ERROR] 140425 iptal edildi 15:09:13 InnoDB: Başlatılıyor ... 140425 15:09:14 InnoDB: Kapatma tamamlandı; log sıra numarası 940942258188 140425 15:09:14 [Not] / usr / sbin / mysqld: Kapatma tamamlandı
— ananth

Hayır .. Ben sudo servis mysql yeniden başlattı.
— ananth

Yapmayı deneyebilir misin sudo service mysql start?
— jobin

Çalışmakta olan mysql yeniden başlatma işlemini öldürmeli miyim? Herhangi bir soruna neden olur mu ??
— ananth

9

Bu benim sorunumu çözdü:

mkdir /var/run/mysqld

touch /var/run/mysqld/mysqld.sock

chown -R mysql /var/run/mysqld

/etc/init.d/mysql restart


1
Bu adımları uyguladıktan sonra veritabanım silindi. Şimdi ne yapacağım?
— Amit Yadav

7

Problemi şu şekilde çözdüm:

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

Başka bir bağlamda, mysql daemon'un başlayamadığı için karşılaştım. mysqld startArdından daemon komutunu ile başlatın - ve ardından servisi başlatmaya çalışın.


2

Günlük dosyalarında aynı hata mesajını ve aynı boşluğu yaşadım. Config-dosyamda (my.cnf) [mysqld] -section bölümüne bu satırı ekleyerek myisam tablolarını kullanmak istediğimi belirttim:

default-table-type = myisam

MySQL yükselttikten sonra bu, MySQL'in başlamamasına neden olur. Bunu şu şekilde değiştirdim:

default-storage-engine = myisam

ve şimdi her şey iyi çalışıyor.


1

Kullanılabilir RAM’i yeni Takas alanı ekleyerek artırmak da yardımcı olabilir. Adımlar burada

Boyutun oluşturduğu kullanılabilir alandan daha küçük boyutta oluşturduğunuzdan / değiştirdiğinizden emin olun.

df -h

Örneğin benim için df-h'nin çıktısı şuydu:

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

Böylece 2 G kullanarak yarattı

sudo fallocate -l 2G /swapfile

Ve sonra sadece servisi başlatmak

sudo /etc/init.d/mysql restart

Bu yardımcı olur umarım. Herşey gönlünce olsun.


1

Çözümüm:

Tüm /etc/rc1.d ... /etc/rc5.d öğelerinde mysql betiğinin S (Ex S10mysql) ile başlayıp K AS K10mysql ile başlayıp başlamadığını kontrol edin.

Açıklama: K öneki durma ile yüklenir, öldürme hizmeti türü; ve S öneki start parametresiyle başlar.

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

Benim durumumda bu bir uzay sorunuydu. Yeterli alanınız olup olmadığını kontrol edin.

dan /var/log/mysql/error.logI iki hat gelen bazı ipuçları var:

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'

Bunun bir uzay sorunu olduğunu görebiliyordum.

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

Buradan sanal sunucuda yeterli alan olmadığını görebiliyordum /dev/mapper/server1--osticket--vg-root 8.3G 7.9G 0 100% /. Sanal sürücüyü geçirmeyi ya da arttırmayı düşündüm, ama önce gereksiz dosyaları kaldırmaya karar verdim.

Bu nedenle, önbellek ve gerekli olmayan dosyaları temizlemek zorunda kaldı:

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

Sonra mysql bozuk günlük dosyalarını daha sonra kaldırmayı unutmayın. MySQL'i yeniden başlattığınızda yeniden üretilirler

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

MySQL sunucu servisini kontrol edin ve muhtemelen çalışıyor

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#

Dava kapandı. Umut ediyorum bu yardım eder.


0

/Var/lib/mysql/.run-mysql_upgrade dosyasını kaldırın ve başlaması gerekir

;)

"Büyük güç büyük sorumluluk getirir"


0

Ben ayarladığınızda bu sorunu vardı max_allowed_packet = 0.5Miçinde /etc/mysql/my.cnf.

Ben değiştirerek çözmüş max_allowed_packetiçin 1M.


0

Aşağıdaki komut sorunumu çözer ve mysql bundan sonra başlayabilir. (Bazı durumlarda yararlı olabilir)

chown -R mysql: /var/lib/mysql
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.