MySQL won't start on XAMPP server - mysql

I have a problem with my XAMPP server. I can start Apache, FileZilla, and every thing else without problems, but when I try to start MySQL, it just says
Attempting to start MySQL service...
and it stays like that forever, like if it was frozen or something.
Any ideas how to fix it?

I fetch the problem to start xampp services "mysqld.exe: Aria recovery failed. Please run aria_chk -r on all Aria tables and delete all aria_log.######## files"
I delete all area_log files form xampp\mysql\data
after that I restart XAMPP than it works.
Thanks

Check the log files for MySQL. You will find them in this directory:
C:\xampp\mysql\data (assuming standard install location of xampp)
Also check if no other program or service uses the default MySql port.
You can do this by using this command:
netstat -an | findstr "3306"
If anything shows up the default mysql port is in use.

In Windows, you should go: Start > Run > services.msc > Apache 2.4 > Properties > Start Mode > Automatic > Apply > Start > OK > [Same as MySQL]

I was not able to start Mysql on xampp.
Error message was:-
Aria recovery failed. Please run aria_chk -r on all Aria tables and
delete all aria_log.######## files. Plugin 'Aria' init function
returned error. Plugin 'Aria' registration as a STORAGE ENGINE failed.
Plugin 'FEEDBACK' is disabled. Aria engine is not enabled or did not
start. The Aria engine must be enabled to continue as mysqld was
configured with --with-aria-tmp-tables. Aborting.
Just to go xampp/mysql/data and delete or remove the file related to aria_log and restart your xampp server.
Worked fine for me.

Resolve the issue stopping the mysql process in the activity monitor and then restarting the mysql server from within the xampp UI.

Go to the error log and check. For me I got this error message:
InnoDB: Error: could not open single-table tablespace file .\mysql\innodb_index_stats.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.
So what I did was I went to the mysql folder and deleted the data1idb file. After that it worked fine. The problem started when I installed Drupal.

Perform
which mysql.server
sudo path/to/mysql.server start
This should work on *nix OS
eg sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start for mac osx

In The xampp folder you should find the start mysql batch file. Run it, The firewall might ask if you want to allow it through ( So check your firewall if it lets mysqld.exe through )

OP did not provide enough information, however this (and other errors) can be caused by the default MySQL port (3306) being used. If this is the case, you can solve it like this:Go to: XAMPP Control Panel -> MySQL: "Config" button -> my.ini Change the port number from 3306 to a different valid port number. I just used 3307.You can find out more information about your problem by looking at the error log file. This is found here: XAMPP Control Panel -> MySQL: "Logs" button -> mysql_error.log

Running the "setup_xampp.bat" file located in the root directory of Xampp did the trick for me.

Though this is late, I'm sure it would help someone in future.
First run which mysql.server to know where mysql is located on your machine. After then run sudo /usr/local/bin/mysql.server stopto be sure that no other mysql process is running. If no other process is running, you would definitely get an error saying MySQL server PID file could not be found!. That's fine.
After then run sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start to start Xampp's mysql server. When you go to the Xampp GUI, you should see that mysql status as running.
Please note that this is for OS X users.

I face same issue. I installed xampp in D drive.
I uninstall and install setup as run as administrator. Again face same issue.
I searched and try lot of suggestion but no luck.
I solve the problem by right click on xampp and open as Administrator and xampp start working fine.

I was not able to start MySQL service. When I checked mysql log it said:
[ERROR] mysqld: File 'C:\xampp\mysql\data\aria_log_control' not found (Errcode: 13 "Permission denied")
[ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file 'C:\xampp\mysql\data\aria_log_control'
I checked suggested location in the log and file was present.
I found I was doing silly mistake, Since UAC is activated in my PC, I had to start XAMPP using "Run As Administrator".
It worked fine for me.

Related

MAMP Pro and MySQL having Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root

After updating to macOS Catalina I’m not able to run MySQL with MAMP Pro.
I get an error. Here from mysql_error.log
2019-10-09T10:53:16.6NZ mysqld_safe Logging to '/Applications/MAMP/logs/mysql_error.log'.
2019-10-09T10:53:16.6NZ mysqld_safe Starting mysqld daemon with databases from /Library/Application Support/appsolute/MAMP PRO/db/mysql57
2019-10-09T10:53:16.917470Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2019-10-09T10:53:16.919285Z 0 [Note] /Applications/MAMP/Library/bin/mysqld (mysqld 5.7.26) starting as process 3320 ...
2019-10-09T10:53:16.932570Z 0 [Warning] Setting lower_case_table_names=2 because file system for /Library/Application Support/appsolute/MAMP PRO/db/mysql57/ is case insensitive
2019-10-09T10:53:16.932669Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
2019-10-09T10:53:16.932697Z 0 [ERROR] Aborting
2019-10-09T10:53:16.932751Z 0 [Note] Binlog end
2019-10-09T10:53:16.935298Z 0 [Note] /Applications/MAMP/Library/bin/mysqld: Shutdown complete
2019-10-09T10:53:16.6NZ mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended
I was searching the interenet and i’ve already tried a lot, but i can’t get it running.
Anyone experienced the same problem and could help?
Thx in advance!
I have a temporary fix, until the developers release a fix. I am using MAMP Pro; I don't know if the interface is the same in non-Pro. The temp fix:
Open MAMP Pro. Stop servers if they are running. Open the MySQL template from the menu: File > Edit Template > MySQL (mysql.cnf) > 5.7.26
Scroll down or find [client]. Beneath [client] add the following line:
user = root
Scroll down or find [mysqld]. Beneath [mysqld] add the following line:
user = root
Start servers.
This worked for me. Hope it helps you.
I had the same problem after installing Catalina on my Mac. First I have tried solution of Les Brown. Did not completely work for me. I got another error:
[Note] Access denied for user 'root'#'localhost' (using password: NO)
After some reading I saw a video on youtube (https://www.youtube.com/watch?v=LKE1G4sinBM) which lets you add the keyword skip-grant-tables in the section mysqld of the MySql template of MAMP-PRO. That let mysql working, but is not the best idea to have forever in your template file. If your try to add the line, do not forget to remove it also!
Last but not least I got the hint of MAMP-Pro-support to make a symbolic link to the mysql.stock. So I executed in Terminal (the '$' is the prompt of terminal).
$ sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
Password:...
$
Now everything is working fine.
The answer from Les Brown helped me. I have one addition that may apply to you and others.
If MAMP (PRO) is accessing any directories in Documents or iCloud Drive, Catalina requires the user to approve MAMP's and/or MYSQL's access to that directory.
For instance, on one of my MAMP PRO servers, I run an ETL (using cron) that downloads csv files from a website, then loads data from each downloaded csv into specified MySQL tables in my testing database. The script wouldn't work, however, because MySQL did not have permission to access the downloaded csv files from the Documents directory. I had to run manually my ETL script from the command line. At that point, a MacOS modal popped up directing me to grant permission for MySQL to access Documents. Once I granted that permission, the ETL scripts began working.

MacOS Can't start MySQL Server

I have MacOS Sierra. I have installed MySQL Server which has been working, however, after a reboot of the Mac Book, I cannot start the MySQL Server.
I have tried changing the port from 3306 to 3307 in the my.cnf file.
Question
I would appreciate any help on how to start the MySQL Server, and also have it so it starts automatically on MacOS Boot up.
(I am new to Mac, so apologies if this is a basic question).
UPDATE
Looking for error logs, I can't find anything with todays (2/2/2017) timestamp.
Nothing in the data dir:
No files with "mysql" have been modified since I've tried to start the MySQL Server (2/2/2017 after 09:00).
I suggest using Terminal commands.
Start MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Stop MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
Restart MySQL
sudo /usr/local/mysql/support-files/mysql.server restart
In my case, I had inadvertently transferred ownership of entire /usr/local directory to myself, which resulted in snatching-away of write permission of /usr/local/mysql-5.7.20-macos10.12-x86_64/data directory from the daemon user called "_mysql".
Restoring the ownership fixed the issue.
After a discussion with Richard, the following solves the issue:
my.cnf:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
datadir = /usr/local/mysql-5.7.17-macos10.12-x86_64/data
tmpdir = /tmp
Essentially, although we'd added the relevant stanza's to the my.cnf file, we'd still missed the section heading. Adding the [mysqld] section allowed mysql to start.
After installing Mysql 8.0.12 on MacOS High Sierra, Mysql server would not start up. I tried several suggestions like removing mysql and reinstalling it, rebooting the computer and changing file permissions, all to no avail. I finally got it to work by removing /etc/my.cnf.
In my case, ownership of the msyql directory had somehow changed to admin:admin. I use ares suggestion to run mysqld from the terminal:
sudo /usr/local/mysql/support-files/mysql.server start
Which showed a permissions error writing to a msyql file.
I fixed with this command:
sudo chown -R _mysql:wheel /usr/local/mysql/data
from this post:
What user should own /usr/local/mysql on Mac?
In my case, First time, after installing Mysql, Mac needs a restart.
So restarting Mac, after installation, fixed the issue for me.
MacOS doesn't come with a my.cnf file. Default settings will suffice the needs for basic usage. Once we need to override them, it makes sense to have a custom configurations.
This solution works for me.
You have to open the activity monitor up and search for mysqld service. Once selected, just click the delete button located in the up left part and you will see the memory goes down. After that, you can verify your mysql server status from System Preferences and the service is up.
With this solution you don't have to restart your machine and get to work fast.
My problem was that due to an incorrect restart of my machine, a database was corrupted. According to their docs doing a forced InnoDB Recovery did the trick:
/etc/my.cnf
innodb_force_recovery = 2
My problem was that I installed MySQL a while ago with Homebrew (forgot I did) and then went the more manual route, so I think the two installs were fighting each other. I wiped my Mac of both with the help of this walkthrough: https://gist.github.com/vitorbritto/0555879fe4414d18569d
Note: Where it says to use subl - that's Sublime, use whatever editor you like.
I was able to get things to work with a fresh install after that.
I had this same issue on Monterey. Make sure you're selecting the correct download according to your processor architecture.
I ran into same problem with following .err log.
MacOS: Catalina 10.15.7.
MySQL version: 5.7.19.
2021-08-19T02:17:26.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2021-08-19T02:17:27.303813Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-08-19T02:17:27.318280Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2021-08-19T02:17:27.335112Z 0 [Note] /usr/local/mysql/bin/mysqld (mysqld 5.7.19) starting as process 2828 ...
2021-08-19T02:17:27.421394Z 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive
2021-08-19T02:17:27.428986Z 0 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
2021-08-19T02:17:27.429541Z 0 [ERROR] Aborting
2021-08-19T02:17:27.429688Z 0 [Note] Binlog end
2021-08-19T02:17:27.432786Z 0 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
And I found adding --user=root to Ares's answer will start mysql server successfully.
sudo /usr/local/mysql/support-files/mysql.server start --user=root
Ref.: MySQL Server Command User Options

mysqld unknown option '--ndbcluster'

I cannot get MySQL to start. It was running for months on my machine, then my machine crashed and it will not restart. In the log file I get the following error:
[ERROR] /usr/local/mysql/bin/mysqld: unknown option '--ndbcluster'
From what I have read, '--ndbcluster' is an option for running your db in clustered mode. I am not running in clustered mode, and I have not attempted to do so.
I am running MySQL 5.6.15 on OS X 10.8.3.
I deleted the MySQL install directory: /usr/local/mysql-5.6.15-osx10.7-x86_64, then reinstalled and I get the same error.
Is there some ENV variable that is causing nbcluster to be set?
Update: I installed MySQL Admin during the time between I started MySQL and the machine reset, as well as the MySQL Java libs.
Update: Based on this post there is a my.cnf somewhere (/etc/my.cnf on my Mac) that has those options. The my.cnf file on my machine is full of options about running in cluster mode including the option ndbcluster.
Removing /etc/my.conf and re-installing worked.
After I re-installed MySQL /etc/my.conf was not set.

Can't access MySQL through XAMPP and phpMyAdmin

I am using XAMPP and I am trying to access phpMyAdmin through http://localhost/phpmyadmin, but I'm getting this error message:
Error
SQL query:
SHOW PLUGINS
MySQL said:
#1 - Can't create/write to file '/var/folders/_y/gtpc137d1q9gkvsj0dsxjd040000gn/T/#sql9f2_8_0.MYI' (Errcode: 13)
I haven't tried to access it in a while so I don't know what has changed since the last time. Can anyone shed light on this for me? I've Googled and can't seem to understand what most people are talking about in related issues.
Also, my XAMPP won't connect to Apache anymore either (it just keeps giving me the loading image).
Here is the error I'm getting:
121201 22:59:27 mysqld_safe Starting mysqld daemon with databases from /Applications/XAMPP/xamppfiles/var/mysql
Warning: World-writable config file '/Applications/XAMPP/xamppfiles/etc/my.cnf' is ignored
121201 22:59:28 [Warning] Setting lower_case_table_names=2 because file system for /Applications/XAMPP/xamppfiles/var/mysql/ is case insensitive
121201 22:59:28 [Note] Plugin 'FEDERATED' is disabled. /Applications/XAMPP/xamppfiles/sbin/mysqld: Can't create/write to file '/var/folders/_y/gtpc137d1q9gkvsj0dsxjd040000gn/T/ibCVKOvf' (Errcode: 13)
121201 22:59:28 InnoDB: Error: unable to create temporary file; errno: 13
121201 22:59:28 [ERROR] Plugin 'InnoDB' init function returned error.
121201 22:59:28 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
121201 22:59:29 [Note] Event Scheduler: Loaded 0 events
121201 22:59:29 [Note] /Applications/XAMPP/xamppfiles/sbin/mysqld: ready for connections.
Version: '5.1.44' socket: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' port: 3306 Source distribution
Following line in the log is the reason:
"Warning: World-writable config file
'/Applications/XAMPP/xamppfiles/etc/my.cnf' is ignored"
As Rishi Kalia has pointed out already you have to set the correct permissions:
Open Terminal
Navigate to the XAMPP config folder
cd /Applications/XAMPP/xamppfiles/etc/
Set permissions of my.cnf to 600
sudo chmod 600 my.cnf
Restart MySQL.
I had to reset the permissions in my xampp folder because I needed to be able to INSERT images into a folder in the htdocs, via php from website I am building.
However after I changed the permission I got : Errcode: 13
The process listed above works but I am adding some additional notes for people who have no clue how to use the terminal.
1. Open Terminal
The Terminal is in Applications/Utilities/Terminal
2. Navigate to the XAMPP config folder
pwd shows the path listing to the current directory
cd changes the current directory
ls -a lists all the files in that directory
Enter this code into the terminal:
cd /Applications/XAMPP/xamppfiles/etc/
3. Set permissions of my.cnf to 600
Enter this code into the terminal:
sudo chmod 600 my.cnf
4. Restart MySQL
Voilà!
you have to go to your xampp installation directory and change the permissions of my.cnf to 600
Sometimes you might have installed an application or a server which accesses the same port which is used by XAMPP. Try changing the port for the XAMPP server. Following link will help you.
http://veerasundar.com/blog/2009/07/how-to-change-xampp-server-port/
If you changed the write and read permissions in all the enclosed items inside the XAMPP main folder ("/Applications/XAMPP"), be sure to make this folder Readable and Writable for everyone: "/Applications/XAMPP/xamppfiles/var/mysql".
This can be done accessing to that folder from the Finder and then Get Info (Cmd + I), in the "Sharing & Permissions" click the lock icon, type your password and change "everyone - read only" to "everyone - read & write", and be sure to make that change for all the enclosed items as well (clicking the gear icon and then "Apply to enclosed items...").
Hope this helps!
Pretty simple... once you take ownership of xamppfiles, you also need to update my.cnf file in the xamppfiles/etc/ directory.
Default MySQL password is mysql.
Once you authorized httpd service to run as User yourusername (OS X) Group yourgroup(id).
Open terminal and type in sudo whoami, this will tell you. In the my.cnf file, replace mysql with your user name.
Restart Apache.
Your username.pid file will be automatically updated.
enter in folder etc
excute commande
sudo chmod 600 my.cnf
restart mysql server

mysql cluster - mysqld node failed to connect to mgmt node

I am trying to setup a mysql cluster but was unable to get the mysqld node to connect to the mgmt node.
This is the error I received when I issue the command with -show warnings
C:\Program Files\MySQL\cluster\MySQL_Cluster\My_Cluster>mysqld –defaults-file=c
onf\my.102.cnf.txt -show
120310 2:49:27 [Warning] Can’t create test file C:\Program Files\MySQL\cluster\
ow\des.lower-test
120310 2:49:27 [Warning] Can’t create test file C:\Program Files\MySQL\cluster\
ow\des.lower-test
mysqld: Can’t change dir to ‘C:\Program Files\MySQL\cluster\ow\’ (Errcode: 2)
120310 2:49:28 [ERROR] Aborting
120310 2:49:28 [Note] mysqld: Shutdown complete
I have looked through the web and most answers point to a permission issue. I have setup a "everyone" user group and assigned full control(r/w) to the mysql folder but it still not working. The setup is based on a windows environment.
Does anyone have any ideas to this?
hopefully the windows getting started guide can help:
http://downloads.mysql.com/tutorials/cluster/GetMySQLClusterRunning-Windows.pdf
Dont install mysql in Program Files, install it in C:/mysql/ and that should fix any permission problem
try to start your command prompt with Run as Administrator hope this works.