I installed XAMPP on Ubuntu. MySql-server fails to run properly.
I tried many solutions, as suggested by google \"/opt/lampp/bin/mysql.server 264 kill no such process\"
Step 1: check if the mysql service status
service mysql status
as you can see, the service is already running.
Step 2: stop the service using the command service mysql stop. you will be prompted to provide your password, just do it.
service mysql stop
Step 3: check mysql status again and verify that it is disabled
service mysql status
Step 4: Now all you need to do is start xampp normally using:
sudo /opt/lampp/lampp start
Enjoy your day
I know this is an 4 month old topic and seems no reply yet. And I actually met one of you problem too (xampp status shows mysql not running), so just list the solution here so that if someone run into a similar situation, hope this could help a bit.
So this is a very complicated problem.
Because from what you described (very detailed),there are still many possible causes to this problem.
QUESTION: So here are some question summarized for your (from my experience):
MySQL not running
happened during your first startup (xampp start / xampp startmysql)?SOLUTION:
1. error log problem
So this one should be the simpliest problem, and it could help us to better identify the error causes.
Check
a) in MySQL configuration (my.cnf) what is your running user? this should be a parameter under [mysqld] user=... (default mysql), we assume our configuration set to mysql
b) do you have an account for running user try terminal command id -u mysql
, if it returns an id number, then the account exist, else it should tell you no such user
. You need to have this user to run mysql server and write error log (by looking at the second part of your terminal record, your account should exist)
c) check your MySQL configuration (my.cnf) error log location, it should be under [mysqld] as a parameter log-error=... if this is not written, add to it (must be under [mysqld]).
d) check every directory of your log full path that (for example /var/log/mysql/error.log)
read
and execute
authority for mysql user (which is at least ******r-x) pass create file (execute) authorityread
and execute
authority for mysql user (which is at least ******r-x) pass create file (execute) authorityread
, write
and execute
authority for mysql user (which is ******rwx) create and write file authoritySo that your error.log file could be created here, if still not works, try to create it manually with owner as mysql, group as mysql and authority of 660.
2. MySQL server running status
there are several approaches to check this
a) use mysql.server (default bin/mysql.server) to do mysql.server status
command. If your MySQL server is up running, it should show SUCCESS! MariaDB is running.
b) use top
command to check if service is running, or use top | grep "mysqld"
. mysqld
and mysqld_safe
should in it.
c) login to mysql command line just like you did in terminal record 4 (this works part) and do command SHOW DATABASES;
this should also work.
So my xampp 7.4.1 in centOS 8 gives a problem of mysql.server ... kill no such process error like you did. that is because the database could not startup. Even you could run mysql.server start, it would fail eventually. And it is simply because of a corrupted database. So our solution is to re-initialize (mysql_install_db) database file(s).
And also we run into plugin missing problem using
mysql_install_db
in Xampp. There are many search result on web, including changing core coding in xampp for a lower server version compatible control problem, but no luck. So the final way is to download an offical package of mysql and use thescripts/mysql_install_db
to complete the task.
3. Customized database location cause Xampp mysql not running status This is a much deeper problem, because I have confirmed that MySQL server is running properly.
I did
[root@server ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[root@server ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)
So this shows that xampp is fetching service status incorrectly (like another post MySQL Database starts on Terminal But not on XAMPP )
I could trace down in detail how xampp works, but in /opt/lampp/xampp
script file, I found /opt/lampp/share/xampp/status
and /opt/lampp/share/statusraw
Go further into it (both /opt/lampp/share/xampp/status
and /opt/lampp/share/statusraw
file),
/opt/lampp/var/mysql/` /bin/hostname`.pid mysqld
As my database was customized to localized directory, this means the pid file will not be in /opt/lampp/var/mysql
, and this status will always return incorrectly.
So changing this into my own database pid location solved the problem.