MySql sunucusu başlatma hatası 'Sunucu, PID dosyasını güncellemeden çıkar'


284

Snow Leopard'da, MySQL'in başlatılması aşağıdaki hatayı verir:

PID dosyasını güncellemeden sunucudan çıkılıyor

my.cnf

[mysqld]
port            = 3306

socket          = /tmp/mysql.sock

skip-external-locking

key_buffer_size = 16K

pid-file=/var/run/mysqld/mysqld.pid

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

7
yönetici kullanıcı olarak çalışıyor. sudo /usr/local/mysql/support-files/mysql.server start ile
Chinmay

6
aynı sorun.
Demlemek

20
burada da aynı problem. demlemek ile de monte edilir.
jspooner

11
Bu davayı mac'umda da aldım ve '/usr/local/var/mysql/*.err' gibi hata günlüğünü başarıyla kaldırdım.
Mathew P. Jones

3
Mac'te de aynı hatayı aldım. Ama çözdüm. .Dmg dosyası üzerinden yüklüyorsanız, sistem tercihlerine gidin, ardından mysql simgesine ve ardından mysql başlat düğmesine tıklayın.
Amaranadh Meda

Yanıtlar:


276

günlük dosyanızı ".err" sonekiyle bulmaya çalışın, daha fazla bilgi olmalı. İçinde olabilir:

/usr/local/var/mysql/your_computer_name.local.err

Muhtemelen izinlerde sorun var

  1. herhangi bir mysql örneğinin çalışıp çalışmadığını kontrol edin

    ps -ef | grep mysql

    evet ise, durdurmalı veya süreci öldürmelisiniz

    öldürmek -9 PID

    PIDönceki komutun çıktısında kullanıcı adının yanında görüntülenen sayı nerede

  2. sahipliğini kontrol et /usr/local/var/mysql/

    ls -laF / usr / local / var / mysql /

    eğer sahibi rootsizin tarafınızdan değiştirilirse mysqlveyayour_user

    sudo chown -R mysql / usr / yerel / var / mysql /


24
Benim kullanıcı yerine mysql kullanıcı chown gerekiyordu.
Jared

3
benim için çalıştı. i hata dosyasını kontrol ve o dosya izinleri olduğunu söyledi. chown komutunu uyguladı ve çalıştı. Teşekkürler!!
Paket İzleyici

2
sudo chown -R my_user / usr / local / var / mysql / en azından benim için çalıştı
Bjørn Børresen

Kendi deneyimlerime göre - sudo chown yaptıktan sonra şu anda başka bir kullanıcı veya kök altında çalışan bazı mysql süreçleri olmadığına dikkat edin. ps -ef | grep mysql, çalışan hiçbir şeyinizin olmadığını doğrular - aksi takdirde başlatamazsınız.
Arthur Frankel

1
Toplam hayat kurtarıcı. Benim tek gözlem mysql klasörünün dosya yolu değişebilir olduğunu.
ALisboa

198

Talimatlarını izlediniz mi brew install mysql?

Şunlarla KULLANIM HESABI OLARAK çalışmak üzere veritabanlarını ayarlayın:

MySQL 5.x için:

unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

Temel tabloları başka bir klasörde ayarlamak veya mysqld'yi çalıştırmak için farklı bir kullanıcı kullanmak için, aşağıdaki yardıma bakın mysqld_install_db:

mysql_install_db --help

ve MySQL belgelerini görüntüleyin:

MySQL 8.x için:

unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

/usr/local/var/mysqlYukarıdaki veri dizininin boş olduğundan emin olun, gerekirse yedekleyin.

Örneğin, kullanıcı "mysql" olarak çalıştırmak için aşağıdakileri yapmanız gerekebilir sudo:

sudo mysql_install_db ...options...

Mysqld ile aşağıdakileri manuel olarak başlatın:

mysql.server start

Not: Bu başarısız olursa, muhtemelen yukarıdaki ilk iki adımı çalıştırmayı unuttunuz


78
Çıktıdaki adımları izledikten sonra bile aynı hatayı sürekli olarak alıyorsanız, * .err dosyasını * .pid dosyasıyla aynı dizinden silin. mahdiyusuf.com/post/21022913180/…
ekillaby

6
Bu talimatları milyonlarca kez izlemeyi denedim ama işe yaramadı. Bir şey yapmadıklarını düşündüğümden beri doktorun beni uyardığı her şeyi temizleyerek "aldatmaya" çalıştım. Sonunda, demlemek doktorların tavsiyesini temizlemek ve takip etmek, yukarıda açıklanan kurulumdan geçmeyi mümkün kıldı. Bu yüzden geçen herkese bir not; demlemek doktoru kandırmaya çalışmayın ve daha iyi bildiğinizi düşünmeyin!
yayılma

9
Doktor yaptığım ve kendi kullanıcıma yazma izni eklediğimde hala bir sürü yanlış şeyim var. sudo chown -R your_user /usr/local/var/mysql/tıpkı @Tombart'ın cevabı gibi :)
GabLeRoux

1
@countfloortiles Evet! Hata dosyasını kaldırmak bunu başardı. :-)
ott--

6
mysqld_install_dbKomut bana hata veriyormysql_install_db: [ERROR] unknown variable 'tmpdir=/tmp'
Snowcrash

125

Mac makinemde de aynı sorunu yaşadım (önerilen tüm kurulum adımlarını doğru bir şekilde izledi brew install).

Hata dosyasını silmek benim için düzeltti:

sudo rm -rf /usr/local/var/mysql/dev.work.err( dev.workbenim ana bilgisayar adım)

Bu dev.work.err, _mysql:wheelkendi kullanıcı adım yerine sahip olduğu için işe yaradı . Hata dosyasını CHOWN-ing muhtemelen düzeltmiş olurdu.


2
Bu da benim sorunum çözüldü, mysql yeniden başlatıldıktan sonra, artık aynı sorunu veren, ancak _mysql: admin sahip olduğu hata günlüğünü kaldırarak sorunu çözdü
user980085

5
Bu en yararlı gibi görünüyordu, bana bu hizmete SUDO ile başlamamam gerektiğini, ancak kendi kullanıcı hesabım altında çalıştırmam gerektiğini fark ettim.
Bnjmn

3
Bu Homebrew kullanarak MySQL kurmuş olanlar için oldukça iyi bir cevap
Stephane Paquet

Haftalar farklı şeyler denedikten sonra, hata dosyasını kaldırdığımda her şey çalışmaya başladı. Teşekkürler
DF

Silmek zorunda kalmadım, sadece hesabıma geri koydum, çünkü bir yerde _mysql hesabı devraldı.
Sammy Larbi

90

Yeniden başlattıktan sonra aynı sorunu yaşadım. İşte nasıl düzelttim:

 sudo chown -R _mysql /usr/local/var/mysql

çok teşekkürler - izinleri karıştırıyorum durumunda olsa da, yedeklemeyi unutmayın
m02ph3u5

Teşekkürler. Ubuntu'da Lampp ile ilgili bir sorunum vardı. Tüm lampp klasörünü / opt dizininden yeni bir sunucuya kopyaladım. Mysql başlatmaya çalıştığımda bir mesaj aldım: Sunucu PID dosyasını güncellemeden çıkıldı. Lampp / var / adresine gidin ve chown yapın -R mysql mysql / Bu benim için çalıştı!
Dave

6
Teşekkürler, Sen benim Kahramanımsın.)
Fareed Alnamrouti

Çok teşekkürler dostum! Günü kurtardım!
Masiar

8
El Capitan'da bu işe yaradı:sudo chown -R _mysql /usr/local/mysql/data
Justin

33

Bu benim için çalıştı ...

Çalışan tüm MySQL işlemlerini kontrol edin:

$ ps aux | grep mysql

USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

Ardından, yukarıdaki komutta listelenen tüm işlemleri aşağıdakileri kullanarak öldürün:

$ sudo kill -9 [PID]

[PID]Yukarıdaki listeden ayrı PID ile değiştirin , ör.5970 .

Bunu ilk komutla gördüğünüz tüm satırlar için yapın.

Ardından MySQL sunucunuzu yeniden başlatabilirsiniz:

mysql.server start

veya pkill mysql"mysql" ile eşleşen tüm işlemleri öldürmek için kullanın ( -9çoğu durumda gereksizdir).
bfontaine

işlemi belirli bir kimlikle killall'a dönüştürün ve tekrar başlatın
Anupam Maurya

26

Bu hata, düzgün kapatıldıktan sonra msql'yi başlatmaya çalışırken ortaya çıkabilir.

  1. Mysql hata günlük dosyasına bir göz atın. Şöyle birşeyler söz ediliyorsa "Zaten aynı verileri kullanarak başka Mysqld süreç var ya günlük dosyalarının olmadığını kontrol edin." , bu işlemi düzgün bir şekilde kapatmanız gerekir.

  2. MySQL'in hangi işlemde çalıştığını görün, şu komutu kullanın: lsof -i:3306

Çıktınız şöyle görünmelidir:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  4249 username   17u  IPv4 0x7843d9d130469c0b      0t0  TCP localhost:mysql (LISTEN)
  1. Mysql çalıştıran işlemi sonlandırın: kill -15 4249

Kill -15, kilitlediği kaynakları boşaltmak ve daha sonra işlemi sonlandırmak için işleme bir siganl gönderir.

  1. Şimdi mysql sorunsuz olarak başlamalıdır: mysql.server start

Bu, High Sierra'da benim için hala işe yarıyor, ne pahasına olursa olsun.
Jonathan Stegall

24

Hata dosyam da bağlantı noktasının başka bir işlem tarafından kullanılıyor olabileceğini, ancak sadece çalışmanın sudo mysql.server startsorunu benim için düzelttiğini söyledi.


evet ... bu benim için de çalıştı ... ve yukarıdaki hiçbir şey işe yaramadı
Prashant

Mac'te MySQL'i başlatmanın yolunu bir yerde okuduğum talimatları izliyordum 'sudo /usr/local/mysql/support-files/mysql.server start'. Bu "sunucu pid dosyasını güncellemeden çık" hatası verdi ve ben bu sayfaya geldim. Çok sayıda cevap denedikten sonra, 'sudo mysql.server start' ı buldum ve işe yaradı. Teşekkürler.
rodmclaughlin

19

Kaldırmaya ib_logfile0ve ib_logfile1dosyaları deneyin ve sonra mysql yeniden çalıştırın

rm /usr/local/var/mysql/ib_logfile0
rm /usr/local/var/mysql/ib_logfile1

Benim için çalışıyor.


1
Ayrıca .errbenim için çalışan aynı dizindeki dosyayı kaldırdım .
Anthony

İyi. Bu çok basit ve gerçekten benim için çalışıyor. Ama, benim durumumda, sadece yeniden adlandırıyorumib_log*.bak
mochadwi

18

Kimse size yardımcı olmadıysa, sadece klasörü kaldırın /usr/local/var/mysqlve mysql'yi tekrar yükleyin brew reinstall mysql.


9
UYARI bu, tüm veritabanlarını silmek anlamına gelir.
18'de

Daha önce mysql5.7'yi yüklediğimden daha yüksek bir sürüm mysql yüklerim ve bu sorun oluşur. / Usr / local / var / mysql dosyasını kaldırın ve brew reinstall mysql@.57çözün.
Pegasus

Önce / usr / local / var / mysql altındaki dbs dosyasını başka bir klasöre taşıyın. Kurulumdan sonra ve mysql hizmetini başarıyla başlattıktan sonra, gerekli db'yi geri taşımayı deneyin.
civic.LiLister

15

Geçenlerde bu sorunla karşılaştım, ancak daha önce çalışıyordu, sonra durdu.

Çünkü başlangıçta rootmysql.server olarak başladım yerine kendimi.

Düzeltme, (sahip olunan _mysql) err günlük dosyasını silmekti . Tekrar başladıktan sonra geçti.


Teşekkürler! Aynı sorunu bir saat boyunca aradım ve cevabınıza rastladım.
FLY

11

Benim için mysql'i yeniden yüklemek zorunda kaldım

brew reinstall mysql

ve sonra aşağıda Mysql'i şimdi başlatmak ve girişte yeniden başlatmak için:

brew services start mysql


10

Benim için düzeltme basitti:

top

mysqld'in zaten çalıştığını gösterdi

sudo killall mysqld 

ardından sürecin başlamasına izin ver


8

MacOS X 10.7.5 sürümünde yükseltme yapmaya çalışırken bu sorunu yaşadım.

Maalesef mysql 5.5.14'ten 5.6.10'a yükseltildi. Yeni denedim, işe yaramadı.

Eski kurulumuma geri dönmeye karar verdim ve

brew switch mysql 5.5.14

Bu sorunu çözmedi. Başka yerlerde okudum ve yaptım, voila! Her şey geri döndü :)

cd /usr/local/var/mysql
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak

Bu, ilk kullandıktan brew upgrade mysqlsonra brew switch mysql 5.7.17benim için çalıştı ve daha sonra önceki sürümümdü. Tuhaf!
Jorge Orpinel

7

Kullanıyorum,

MySQL'i homebrew ('brew install mysql') kullanarak kurdum. Birkaç bağımlılık ve sonra mysql yükledi.

Başlatmaya çalıştığımda,

west$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/west.local.pid).

Bu komutu çalıştırdım,

west$ /usr/local/Cellar/mysql/5.5.25/scripts/mysql_install_db 

ve MySQL çalışır.

Mysql dizininin en üst düzeyiyle (IE, usr / local / Cellar / mysql / 5.5.25) mysql_install_db'yi çalıştırmanız gerektiğini lütfen unutmayın. Doğrudan / scripts dizininde çalıştırmak, çalıştırılması için yeterli bağlam sağlamaz.


5.5.28 ile benim için çalıştı ve OSX 10.7.5'de demlendi
ch3rryc0ke

7

Benim için çözüm / etc / my / cnf içindeki veri dizinini geçersiz kılmak / düzeltmekti.

Benioku dosyasında sağlanan yönergeleri ile MySQL 5.5.27 kaynağından inşa:


# Preconfiguration setup
shell> groupadd mysql
shell> useradd -r -g mysql mysql
# Beginning of source-build specific instructions
shell> tar zxvf mysql-VERSION.tar.gz
shell> cd mysql-VERSION
shell> cmake .
shell> make
shell> make install
# End of source-build specific instructions

# Postinstallation setup
shell> cd /usr/local/mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &

# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server

mysqld_safe açıklama yapmadan kendisini sonlandırdı. çalışan/etc/init.d/mysql.server start hatayla sonuçlandı:

"Sunucu PID dosyasını güncellemeden çıkar"

Ancak kurulum talimatlarında garip bir şey fark ettim. Sahipliği "veri" dizini için mysql olarak değiştirildi, ancak "var" değil; Bu alışılmadık çünkü yıllardır var dizinin mysql yazılabilir olduğundan emin olmak zorunda kaldım. Bu yüzden elle koştumchown -R mysql /usr/local/mysql/var ve tekrar başlatmaya . Hala şans yok. Ama daha da kötüsü, var dir hiçbir .err dosyası - "veri" dir oldu! bu yüzden scriptler / mysql_install_db / usr / local / mysql / var'da kamp kurar, ancak uygulamanın geri kalanı / usr / local / mysql / data içindeki işini yapmak istiyor gibi görünüyor!

Bu yüzden sadece /etc/my.cnf dosyasını düzenledim ve [mysqld] bölümünün altında mysql'ın veri dizinini var (özellikle normalde nasıl olmasını beklediğimden) var olan bir yönerge ekledim ve bunu yaptıktan sonra mysqld sadece başlıyor ince. Ekleme direktifi şuna benzer:

datadir = / usr / local / mysql / var

Benim için çalıştı. Umarım sana yardımcı olur.


5

Görünüşe göre MySQL işlemi çalışıyor, bu nedenle bağlantı noktasını kullanamıyorsunuz. Çalışan MySQL işlemini aşağıdaki komutu kullanarak kontrol edebilirsiniz:

ps auxf | grep mysql

Herhangi bir MySQL işlemi alırsanız kill -9 PID kullanarak bu işlem kimliğini öldürün ve sonra MySQL'i başlatmayı deneyin.


Bu cevap benim kurtarıcım.
Sangbeom Han

5

Mysql'i güvenli modda başlatma

/usr/local/mysql/bin/mysqld_safe start

VEYA

MAC'ta Etkinlik Monitörü uygulamanızdaki herhangi bir görevi mysqlveya mysqldgörevi (ya da başka birini) sonlandırın.

veya hatayı kontrol et

tail -f /usr/local/mysql/data/XXXXX-XXXXX-Pro.local.err

4

Hata günlüğü ne diyor? Bu hatayı aldım ve mysql hata günlüğünün belirttiği my.cnf'de eski bir geçersiz ayar oldu. Hatalı bir yapılandırma ayarı değilse, hata günlüğü sizi en azından doğru yönde göstermelidir.

OP'nin bu noktada düzelttiğini varsayıyorum ... ama umarım bu diğerlerinin bu hatayı doğru yönde gördüğünü gösterir.


4

Burada yayınlanan birkaç cevabın yardımıyla, sorunu bulabildim

Önce koşarım

sudo -i

Böylece root erişimim olabilir.

Daha sonra xxxx.err dosyasını sildim

rm -rf /usr/local/mysql/data/xxxx.err

MySQL'i SafeMode'da başlattıktan sonra

/usr/local/mysql/bin/mysqld_safe start

Başlamaya çalışacak ve bir hata nedeniyle çıkacak ... yeni bir xxx.err dosyası oluşturulacak ve hatanın nedenini görmek için okumalısınız

tail -f /usr/local/mysql/data/mysqld.local.err

Benim durumumda, bazı nedenlerden dolayı, klasörün içinde bazı klasör ve dosya eksikti /var/log/...

cd /var/log

mkdir mysql

touch mysql-bin.index

Yeni dosya oluşturulduktan sonra, izninizi değiştirmeniz gerekiyor

chown -R _mysql /var/log/mysql

Tüm bu adımlar atıldığında, veritabanım hemen çalışmaya başladı ...

Umarım bu başkalarına yardımcı olabilir ... Anahtar hatayı okumak ve oturum açmak ve neyin yanlış olduğunu bulmaktır ...


4

Benim durumumda, hata, hata günlük dosyasının erişim sorunu nedeniyle oluşur.

Aşağıdaki iki komut sorunu çözmeme yardımcı oluyor.

sudo chown <user> /usr/local/var/mysql/<my-host-name>.err
sudo chmod 666 /usr/local/var/mysql/<my-host-name>.err

3

Umarım bu iş senin için.

Hata günlüğünü kontrol ettikten sonra şunu buldum:

120309 17:42:49 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
120309 17:42:50 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
120309 17:42:50 [Warning] You need to use --log-bin to make --binlog-format work.
120309 17:42:50 [Note] Plugin 'FEDERATED' is disabled.
120309 17:42:50 InnoDB: The InnoDB memory heap is disabled
120309 17:42:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
120309 17:42:50 InnoDB: Compressed tables use zlib 1.2.3
120309 17:42:50 InnoDB: Initializing buffer pool, size = 16.0M
120309 17:42:50 InnoDB: Completed initialization of buffer pool
120309 17:42:50  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name /usr/local/mysql/data/ib_logfile0
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
120309 17:42:50 mysqld_safe mysqld from pid file /usr/local/mysql/data/lu1s.local.pid ended

Ve çözmek için, tüm mysql klasörüne sahiplik hakları verdim:

cd /usr/local
sudo chown mysql mysql
sudo chown mysql mysql-5.5.21-osx10.6-x86_64
sudo chown _mysql mysql
sudo chown _mysql mysql-5.5.21-osx10.6-x86_64

Daha sonra (bunu komut satırında da yapabilirsiniz), / usr / local / mysql klasöründeki "bilgi al" menüsünden tüm kapalı klasörlere (bu sahipliği _mysql ve mysql kullanıcılarına verdikten sonra) izinleri uyguladım -5.5.21-osx10.6-x86_64 . Takma ad için bunu yapmanıza gerek yok çünkü bu sadece bir takma ad.

Klasörün adı, sahip olduğunuz mysql kurulum sürümüne bağlıdır.


3

Ben de aynı problemi yaşadım. /etc/my.cnf dosyamı taşımak benim için çalıştı. Bilgileri burada aldım


3

Aynı sorun vardı, benim için mysqld çalışan önceki bir yükleme yaparken bir demlemek kaldırma yapıyordu. Demlemek kaldırmadan önce bir hizmeti durdurmuyor gibi görünüyor.

.Err dosyasını kontrol ettikten sonra eski hizmet sonlandırıldıktan sonra mysql başka bir kopyası çalışıyor olabilir günlü hata gördüm. Daha sonra yeni mysql yüklemesini yeniden başlatabiliyordum.


Evet, hata günlüklerini kontrol edin. Benim durumumda, ls -latr /usr/local/var/mysql/hata günlüğünü içeren en son değiştirilmiş dosyayı bulmaya ve ardından tail -50 name.erryapılandırmada bir sorun olan hatayı görmeye koştum .
mahemoff

Tanrıya şükür, haklıydın. Kullandım ps aux | grep mysqldve sonra işlemi sonlandırdım kill -9 [proccessid]ve sunucu başarıyla başladı
Sagish

3

Basit....

2002 MySQL Soket hatasını düzeltin

Belirsiz 2002 soket hatasını düzeltin - MySQL'in soketi nereye yerleştirdiğini ve OSX'in olması gerektiğini düşündüğü yeri bağlayan MySQL, / tmp'ye koyar ve OSX / var / mysql'de arar, soket mysql istemcisine izin veren bir dosya türüdür / sunucu iletişimi.

sudo mkdir / var / mysql

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Aferin : )

Bu bana çok yardım et! Bu kılavuzu http://coolestguidesontheplanet.com/ adresindeki adamlardan aldım.


3

Bunu dene..

  1. Sorunun üst dizinine gidin cd YOURPATH/usr/local/mysql
  2. rm -rf *.local.err (dosyayı siler)
  3. touch YOURUSERNAME.local.pid (atılan hatanın şikayet ettiği yeni * .local.pid dosyası oluşturur)
  4. projenize cd geri ve kullanarak mysql yeniden başlatın mysql.server start

1
Bu benim için çalıştı. Nedeni, error.logdosya "_mysql" günlükleri hataları atma aitti. Sadece başka kimsenin bu sorunu olması durumunda oturum açmak istedim. 150818 19:32:06 mysqld_safe Logging to '/opt/boxen/log/mysql/error.log'. 150818 19:32:06 mysqld_safe Starting mysqld daemon with databases from /opt/boxen/data/mysql /opt/boxen/homebrew/bin/mysqld_safe: line 129: /opt/boxen/log/mysql/error.log: Permission denied
Donovan

Sorununuz aynı mysql hatasını atan izinlerle ilgili ise bu çalışmaz.
mpoletto

Benim için de çalıştı. Ayrıca (ayrıca bir LAMP yığını kullanan olanlar için) benim apache yeniden başlatmak zorunda kaldı.
Tommyixi

3

Her nasılsa El Capitan'daki izinlerimi bozdum ve MySQL'i sıfırdan yeniden yüklemeye karar verdim.

El capitan'da demlemek kullanıyorum ve yeniden yüklemeye karar verdim:

brew uninstall mysql
sudo rm -rf /usr/local/var/mysql
brew install mysql
mysql.server start # ... SUCCESS

Yeni yüklemedeki dosya izinleri _mysqlkullanıcı adımı içerecek şekilde değiştirildi

 ls -alh /usr/local/var/mysql
drwxr-xr-x   22 lfender  admin   748B Mar 22 09:58 .
# ... etc

2

Sürücünüzde boş alan olup olmadığını kontrol edin. Sürücümde boşluk kalmadığında bu sorunu yaşadım.


Bahsetmeseydiniz uzay problemini hiç düşünmezdim. Sen kurtarıcısın!
Kshitij Bajracharya

2

Sorun bir izinler, başka biri tarafından sahip olduğu için mac.err yazamıyor çünkü başlayamaz.

/ Usr / local / var / mysql klasörünün mysql'yi başlatacak kullanıcının sahibi olduğundan emin olun. Eğer mysql kriko olarak başlasam iyi olur. Ancak, root olarak başlatırsanız, jack'in yazamadığı bir mac.err (root'un sahibi olduğu) dosyası oluşturur, bu yüzden jack olarak yeniden başlatmayı denediğinizde başarısız olur.

  1. Klasörün ve dosyaların mysql.server start çalıştıran kullanıcıya ait olduğundan emin olun
  2. Başka birine ait bir mac.err veya mac.pid olmadığından emin olun.
  3. Başlangıç ​​doğru kullanıcıdır.

Ben chown -R <kullanıcı_adı> / usr / local / var / mysql kullandım ve harika çalıştı. Güzel çözüm.
mbokil

2

Benim durumumda, bu sorunu vps, cPanel'de aldım .

Yukarıdaki cevapların çoğunu denedim ama başarılı olamadım.

  1. hata günlüğünüzün nerede olduğunu kontrol edin. Hata satırının sonunda belirtilir.

HATA! Sunucu, PID dosyasını (/var/lib/mysql/111318.vps-11.com.pid) güncellemeden çıkar.

  1. Bu dosyayı açın (/var/lib/mysql/111318.vps-11.com.err) ve lattes satırları için alt kısmına bakın. Benim durumumda var

[ERROR] Önemli hata: Ayrıcalık tabloları açılamıyor ve kilitlenemiyor: './mysql/db' tablosu çöktü olarak işaretlendi ve onarılması gerekiyor

  1. Bunu nasıl çözersiniz: Tablo dizinlerini komutla kurtarma ve düzeltme:

[~] # myisamchk -r /var/lib/mysql/mysql/db.MYI

https://forums.cpanel.net/threads/mysql-is-not-running.407142/

  1. (Yeniden) MySQL'inizi başlatın
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.