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.