sql >> Database >  >> RDS >> Mysql

Zeer hardnekkig /opt/lampp/bin/mysql.server:264:kill:Geen dergelijk proces. Xampp/ubuntu 16.04

Dit is dus een heel ingewikkeld probleem.

Want van wat je (zeer gedetailleerd) hebt beschreven, zijn er nog steeds veel mogelijke oorzaken voor dit probleem.

VRAAG: Dus hier zijn enkele vragen samengevat voor jou (uit mijn ervaring):

  1. Is uw MySQL not running gebeurde er tijdens je eerste opstart (xampp start / xampp startmysql)?
  2. Heb je na het installeren van xampp in Linux de MySQL-configuratie aangepast (standaard etc/my.cnf)?
  3. INDIEN AANGEPAST Heb je je databasedirectory aangepast naar een andere locatie (standaard /opt/lampp/var/mysql)?
  4. INDIEN NIET AANGEPAST Zoals je al zei, heb je toegang tot de mysql-opdrachtregel, heb je geprobeerd je database te SQL, of was de database niet eens toegankelijk (wat betekent dat de mysql-server, genaamd mysqld, niet goed startte)?
  5. Heb je persoonlijk een mysql-database geïnitialiseerd/geïnstalleerd (standaard bin/mysql_install_db)?Ok, deze bovenstaande vragen zouden een basisidee moeten zijn voor het oplossen van problemen.

OPLOSSING:

1. foutenlogboekprobleem

Dit zou dus het eenvoudigste probleem moeten zijn, en het zou ons kunnen helpen om de oorzaken van de fout beter te identificeren.

Controleer

a) in MySQL-configuratie (my.cnf) wat is uw huidige gebruiker? dit zou een parameter moeten zijn onder [mysqld] user=... (standaard mysql), we nemen aan dat onze configuratie is ingesteld op mysql

b) heb je een account voor het uitvoeren van user try terminal commando id -u mysql , als het een id-nummer retourneert, dan bestaat het account, anders zou het u moeten vertellen no such user . U hebt deze gebruiker nodig om de mysql-server uit te voeren en het foutenlogboek te schrijven (door naar het tweede deel van uw terminalrecord te kijken, zou uw account moeten bestaan)

c) controleer uw MySQL-configuratie (my.cnf) foutenloglocatie, deze moet onder [mysqld] staan ​​als een parameter log-error=... als dit niet is geschreven, voeg er dan aan toe (moet onder [mysqld] staan).

d) controleer elke map van uw log met het volledige pad dat (bijvoorbeeld /var/log/mysql/error.log)

  • /var zou read . moeten hebben en execute machtiging voor mysql-gebruiker (wat op zijn minst ******r-x is) pass create file (execute) machtiging
  • /var/log zou read . moeten hebben en execute machtiging voor mysql-gebruiker (wat op zijn minst ******r-x is) pass create file (execute) machtiging
  • /var/log/mysql zou read . moeten hebben , write en execute machtiging voor mysql-gebruiker (dat is ******rwx) machtiging voor het maken en schrijven van bestanden

Zodat uw error.log-bestand hier kan worden gemaakt, als het nog steeds niet werkt, probeer het dan handmatig te maken met de eigenaar als mysql, groep als mysql en autoriteit van 660.

2. Actieve status MySQL-server

er zijn verschillende manieren om dit te controleren

a) gebruik mysql.server (standaard bin/mysql.server) om mysql.server status te doen opdracht. Als uw MySQL-server actief is, zou deze SUCCESS moeten weergeven! MariaDB is actief.

b) gebruik top commando om te controleren of de service actief is, of gebruik top | grep "mysqld" . mysqld en mysqld_safe zou erin moeten staan.

c) log in op de mysql-opdrachtregel, net zoals u deed in terminalrecord 4 (dit werkgedeelte) en voer het commando SHOW DATABASES; uit dit zou ook moeten werken.

3. Aangepaste databaselocatie zorgt ervoor dat Xampp mysql niet actief is Dit is een veel dieper probleem, omdat ik heb bevestigd dat de MySQL-server correct werkt.

Ik deed het

[[email protected] ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[[email protected] ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)

Dit toont dus aan dat xampp de servicestatus onjuist ophaalt (zoals een ander bericht MySQL-database start op Terminal, maar niet op XAMPP )

Ik zou in detail kunnen nagaan hoe xampp werkt, maar in /opt/lampp/xampp scriptbestand, vond ik /opt/lampp/share/xampp/status en /opt/lampp/share/statusraw

Ga er verder op in (beide /opt/lampp/share/xampp/status en /opt/lampp/share/statusraw bestand),

 /opt/lampp/var/mysql/` /bin/hostname`.pid mysqld

Omdat mijn database is aangepast aan de gelokaliseerde map, betekent dit dat het pid-bestand niet in /opt/lampp/var/mysql staat , en deze status zal altijd foutief terugkeren.

Dus het veranderen van dit in mijn eigen database pid-locatie loste het probleem op.



  1. Hoe jsonb-arrays op te vragen met de IN-operator

  2. Onbeantwoorde vragen over MS SQL Server-beveiliging en toegangscontrole

  3. Hoe verbinding maken met een externe MySQL-database met Java?

  4. Wacht-time-out voor vergrendeling overschreden; probeer de transactie opnieuw te starten, ook al gebruik ik geen transactie