Opstartfout MySql-server ‘De server is gestopt zonder het PID-bestand bij te werken’

In Snow Leopard geeft het starten van MySQL de volgende foutmelding:

De server is gestopt zonder het PID-bestand bij te werken

mijn.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

Antwoord 1, autoriteit 100%

probeer je logbestand te vinden met het achtervoegsel “.err”, er zou meer info moeten zijn. Het kan zijn in:

/usr/local/var/mysql/uw_computernaam.local.err

Het is waarschijnlijk een probleem met de rechten

  1. controleer of er een mysql-instantie actief is

    ps -ef | grep mysql

    zo ja, stop het of stop het proces

    kill -9 PID

    waarbij PIDhet nummer is dat wordt weergegeven naast de gebruikersnaam bij de uitvoer van het vorige commando

  2. controleer eigendom van /usr/local/var/mysql/

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

    als het de eigenaar is van root, moet je het wijzigen in mysqlof your_user

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


Antwoord 2, autoriteit 70%

Heb je de instructies van brew install mysqlgevolgd?

Stel databases in om ALS UW GEBRUIKERSACCOUNT uit te voeren met:

Voor mysql 5.x:

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

Om de basistabellen in een andere map in te stellen of een andere gebruiker te gebruiken om uit te voeren
MySQLD, Bekijk de hulp voor mysqld_install_db:

mysql_install_db --help

en bekijk de MySQL-documentatie:

voor MySQL 8.x:

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

Zorg ervoor dat de gegevensdirectory /usr/local/var/mysqlhierboven leeg is, back-up maken indien nodig.

Wennen zoals bijvoorbeeld gebruiker “MYSQL”, moet u mogelijk sudo:

sudo mysql_install_db ...options...

Start MySQLD handmatig met:

mysql.server start

Opmerking: als dit mislukt, bent u waarschijnlijk vergeten de eerste twee stappen boven

te draaien


3, Autoriteit 43%

Ik had hetzelfde probleem op mijn MAC-machine (volgde correct alle installatiestappen die worden gesuggereerd door brew install).

Het foutbestand verwijderen Vast het voor mij:

sudo rm -rf /usr/local/var/mysql/dev.work.err(dev.workIS MY HOSTNAME)

Dit werkte omdat dev.work.erreigendom is van _mysql:wheelin plaats van mijn eigen gebruikersnaam.
Chown-ING Het foutbestand zou het waarschijnlijk ook hebben opgelost.


4, Autoriteit 34%

Na het opnieuw opstarten had ik hetzelfde probleem. Hier is hoe ik het opgelost heb:

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

5, Autoriteit 12%

Dit werkte voor mij …

Controleer alle MySQL-processen die draaien:

$ ps aux | grep mysql
USER     PID    %CPU  %MEM 
_mysql   5970   0.0   0.4 ...

Dood vervolgens alle processen die zijn opgenomen in de opdracht hierboven met het volgende:

$ sudo kill -9 [PID]

Vervang [PID]met de afzonderlijke PID van de bovenstaande lijst, b.v. 5970.

Doe dat voor alle regels die u ziet met de eerste opdracht.

U kunt uw MySQL-server opnieuw opstarten:

mysql.server start

6, Autoriteit 9%

Deze fout kan optreden bij het starten van MSQL nadat het verkeerd is uitgeschakeld.

  1. Bekijk het mysql-foutlogbestand. Als er iets in staat als “Controleer of je niet al een ander mysqld-proces hebt met dezelfde gegevens of logbestanden.”, dan moet je dat proces correct afsluiten.

  2. Kijk op welk proces mysql draait, gebruik dit commando: lsof -i:3306

Uw uitvoer zou er als volgt uit moeten zien:

COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
mysqld  4249 username   17u  IPv4 0x7843d9d130469c0b      0t0  TCP localhost:mysql (LISTEN)
  1. Beëindig het proces met mysql: kill -15 4249

Kill -15 stuurt een signaal naar het proces om alle bronnen die het vergrendelt vrij te maken en het proces daarna te beëindigen.

  1. Nu zou mysql zonder problemen moeten opstarten: mysql.server start

Antwoord 7, autoriteit 8%

Mijn foutbestand vertelde me ook dat de poort mogelijk door een ander proces wordt gebruikt, maar het eenvoudig uitvoeren van sudo mysql.server startloste het probleem voor mij op.


Antwoord 8, autoriteit 8%

⚠️ Hiermee worden uw gegevens gewist. Zorg ervoor dat er eerst een back-up van wordt gemaakt.

Als niemand je heeft geholpen, verwijder dan gewoon de map /usr/local/var/mysqlen installeer vervolgens mysql opnieuw brew reinstall mysql.


Antwoord 9, autoriteit 5%

Ik kwam onlangs dit probleem tegen, maar het werkte voorheen en stopte toen.

Dit was omdat ik in eerste instantie mysql.serverbegon als rootin plaats van mezelf.

De oplossing was om het err-logbestand (dat eigendom was van _mysql) te verwijderen. Door het opnieuw te starten, is het geslaagd.


Antwoord 10, autoriteit 4%

Voor mij was de oplossing eenvoudig:

top

liet zien dat mysqld al actief was

sudo killall mysqld 

dan liet het proces starten


Antwoord 11, autoriteit 4%

Voor mij moest ik mysql opnieuw installeren

brew reinstall mysql

en dan hieronder
Start mysql nu en start opnieuw bij inloggen:

brew services start mysql

Antwoord 12, autoriteit 3%

De oplossing die voor mij werkte, was hier: https: //serverfault.com/questions/334284/cant-create-pid-file-on-mysql-server-permission-denied

Het leek de oplossing te zijn om enkele van mijn rechten te wijzigen. Ik gebruik een Macbook Air uit medio 2012 met OS X 10.8.2 en mysql is geïnstalleerd met homebrew.

chmod 0755 /var
chown root:wheel /var/tmp
sudo chmod 0771 /usr/local/var/mysql/*

Antwoord 13, autoriteit 3%

Ik gebruik,

Ik heb MySQL geïnstalleerd met homebrew (‘brew install mysql’). Het installeerde een aantal afhankelijkheden en daarna mysql.

Toen ik het probeerde op te starten,

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

Ik heb deze opdracht uitgevoerd,

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

en MySQL werkt.

Houd er rekening mee dat u mysql_install_db moet uitvoeren vanaf het hoogste niveau van de mysql-directory (IE, usr/local/Cellar/mysql/5.5.25). Als u het rechtstreeks in de /scripts-map uitvoert, krijgt het niet genoeg context om het te laten werken.


Antwoord 14, autoriteit 3%

Ik had dit probleem toen ik probeerde een upgrade uit te voeren op MacOS X 10.7.5.

Helaas is mysql ook geüpgraded naar 5.6.10 van 5.5.14. Nieuwe geprobeerd, werkte niet.

Ik besloot terug te gaan naar mijn oude setup en deed een

brew switch mysql 5.5.14

Dit heeft het probleem niet opgelost. Elders las en deed ik dit, voila! Alles was terug 🙂

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

Antwoord 15, autoriteit 2%

Voor mij was de oplossing om de gegevensmap in /etc/my/cnf te overschrijven/corrigeren.

Ik heb MySQL 5.5.27 vanuit de bron gebouwd met de aanwijzingen in het leesmij-bestand:


# 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 beëindigde zichzelf zonder uitleg. het uitvoeren van /etc/init.d/mysql.server startresulteerde in de fout:

“De server is gestopt zonder het PID-bestand bij te werken”

Ik heb echter iets vreemds opgemerkt in de installatie-instructies. Het eigendom is gewijzigd in mysql voor de map “data”, maar niet in “var”; dit is ongebruikelijk omdat ik er jarenlang voor moest zorgen dat de var-map mysql beschrijfbaar was. Dus ik heb handmatig chown -R mysql /usr/local/mysql/varuitgevoerd en vervolgens geprobeerd het opnieuw te starten. Nog steeds geen geluk. Maar erger nog, geen .err-bestand in de var-map – het was in de “data”-map! dus scripts/mysql_install_db zet het kamp op in /usr/local/mysql/var, maar de rest van de applicatie lijkt zijn werk te willen doen in /usr/local/mysql/data!

Dus ik heb zojuist /etc/my.cnf bewerkt en onder de sectie [mysqld] heb ik een richtlijn toegevoegd om de gegevensdirectory van mysql expliciet naar var te verwijzen (zoals ik normaal gesproken verwacht dat het hoe dan ook is), en daarna mysqld start gewoon goed op. De toe te voegen richtlijn ziet er als volgt uit:

datadir = /usr/local/mysql/var

Werkte voor mij. Ik hoop dat het je helpt.


Antwoord 16, autoriteit 2%

Dit werkte voor mij:

Op een Mac met Homebrew:

Laat alle instanties van mysql zien die bestaan door

. uit te voeren

$ brew services

Verwijder elke instantie door

. uit te voeren

$ brew uninstall <instance_name>

Verwijder de Mysql-map in /usr/local/var/mysql:

$ rm -rf /usr/local/var/mysql

Installeer mysql opnieuw met homebrew:

$ brew install mysql
$ brew install [email protected]<version> #Optional

Herstart mysql.server start

$ mysql.server start

Antwoord 17, autoriteit 2%

Het lijkt erop dat het MySQL-proces wordt uitgevoerd en daarom kunt u de poort niet gebruiken. U kunt het lopende MySQL-proces controleren met het volgende commando:

ps auxf | grep mysql

Als u een MySQL-proces krijgt, doodt u dat proces-ID met kill -9 PID en probeert u vervolgens MySQL te starten.


Antwoord 18, autoriteit 2%

Start Mysql in veilige modus

/usr/local/mysql/bin/mysqld_safe start

OF

op MAC Beëindig elke mysql– of mysqld-taak (of andere) in uw Activity Monitor-toepassing.

of controleer je fout door

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

Antwoord 19, autoriteit 2%

Met behulp van een paar antwoorden die hier zijn gepost, heb ik het probleem kunnen vinden

Eerst ren ik

sudo -i

Dus ik zou root-toegang kunnen hebben.

Toen heb ik het xxxx.err-bestand verwijderd

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

nadat ik MySQL in SafeMode startte

/usr/local/mysql/bin/mysqld_safe start

Het zal proberen te starten en zal afsluiten vanwege een fout… er wordt een nieuw xxx.err-bestand gemaakt en u moet het lezen om de oorzaak van de fout te zien

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

In mijn geval ontbrak om de een of andere reden een map en een bestand in de map /var/log/… Dus ik heb beide gemaakt

cd /var/log

mkdir mysql

touch mysql-bin.index

Nadat het nieuwe bestand is gemaakt, moet u de toestemming wijzigen

chown -R _mysql /var/log/mysql

Toen al die stappen waren genomen, begon mijn database onmiddellijk te werken…

Ik hoop dat dit anderen hier kan helpen… De sleutel is om de fout te lezen en te loggen en uit te zoeken wat er mis is…


Antwoord 20

Wat zegt het foutenlogboek? Ik kreeg deze fout en het bleek een oude ongeldige instelling te zijn in de my.cnf, die het mysql-foutlogboek aangaf. Als het geen slechte configuratie-instelling is, zou het foutenlogboek u in ieder geval in de goede richting moeten wijzen.

Nou, ik neem aan dat de OP het op dit punt heeft opgelost… maar hopelijk wijst dit de anderen die deze fout zien in de goede richting.


Antwoord 21

Op de een of andere manier heb ik mijn machtigingen op El Capitan verpest en besloot MySQL helemaal opnieuw te installeren.

Ik gebruik Brew on El Capitan en besloot om het opnieuw te installeren:

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

De bestandsmachtigingen op nieuwe installatie gewijzigd van _mysqlom mijn gebruikersnaam

op te nemen

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

22

In mijn geval gebeurt de fout vanwege het toegangsprobleem van het foutlogbestand.

De volgende twee opdrachten helpen mij het probleem aan.

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

23

Ik hoop dat dit voor u werkt.

Na het controleren van het foutlogboek, vond ik dit:

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

En om het op te lossen, heb ik eigendomsrechten gegeven aan de hele mysql-map:

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

Vervolgens (je kunt het ook vanaf de commandoregel doen), heb ik de machtigingen toegepast (zodra ik dat eigendom had gegeven aan gebruikers van _mysqlen mysql) op alle ingesloten mappen van in het menu “info ophalen” van de map op /usr/local/mysql-5.5.21-osx10.6-x86_64. Je hoeft dat niet toe te voegen aan de alias, omdat het maar een alias is.

De naam van de map hangt af van de installatieversie van mysql die je hebt.


Antwoord 24

Ik had hetzelfde probleem. het verplaatsen van mijn /etc/my.cnf-bestand werkte voor mij. Ik heb de informatie hier


Antwoord 25

Had hetzelfde probleem, bij mij was het een brew-verwijdering terwijl een eerdere installatie van mysqld actief was. Het lijkt erop dat Brew een service niet stopt voordat de installatie ongedaan wordt gemaakt.

Na het controleren van het .err-bestand zag ik de gelogde fout dat een ander exemplaar van mysql mogelijk actief is, na het beëindigen van de oude service. Ik was toen in staat om de nieuwe mysql-installatie opnieuw te starten.


26

Controleer of u ruimte hebt in uw drive. Ik heb dit probleem als er geen ruimte achterblijft in mijn schijf.


27

Het probleem is een machtigingen, het kan niet starten omdat het niet kan schrijven naar Mac.err omdat het in eigendom is van iemand anders.

Zorg ervoor dat de map / USR / LOCAL / VAR / MYSQL eigendom is van de gebruiker die MySQL start. Als ik MySQL start als Jack, het is allemaal goed. Als u het echter als root begint, maakt het een Mac.err (eigendom van root) -bestand dat Jack niet kan schrijven, dus wanneer u het opnieuw probeert opnieuw te starten als Jack, zal het mislukken.

  1. Zorg ervoor dat de map en bestanden in eigendom zijn van de gebruiker MySQL.Server Start
  2. Zorg dat er nog geen mac.err of Mac.pid eigendom is van iemand anders.
  3. Start is als de juiste gebruiker.

Other episodes