Why mysql lauch on start - php

I do my best for explain my problem !
I'm on linux Ubuntu and i use xampp, if i start xampp = Apache Web : running, ProFTPD : running, Mysql: Stopped.
The code error for my sql is :
2020-02-28 15:19:42 0 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 98: Address already in use 2020-02-28 15:19:42 0 [ERROR] Do you already have another mysqld server running on port: 3306 ? 2020-02-28 15:19:42 0 [ERROR] Aborting
If i go http://localhost/phpmyadmin/ with 'root' and 'root' is work and i can see my database on the left.
If i watch my netstat :
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1111/mysqld
So i try to stop server with "sudo service mysql stop", now on xampp i restart all and = xampp Apache Web : running, ProFTPD : running, Mysql: running.
Now, go to localhost phpmyadmin but "root" "root" not working and "root" "" work fine but i watch on left and all DB gone.
If i restart my pc and launch xampp = mysql:Stopped and "root" "root" works and on left i can see my db.
I don't understand the problem if someone explain me why mysql running on start and on xampp is stopped ?
Why if start, all db gone and the password is not the same ?
(Sorry i don't have a good english)
EDIT :
Thanks i think is a good way !
But i have a lot of problem all time. I export my Db i got a " mydatabase.sql"
So now i go on xampp mysql and i'm connect but i see this message (pop-up)
But i'm on adminphp so i go on import and is say me that
I have develop a website on php but now i follow udemy course for laravel and mysql cause me a lot of trouble i do nothing all this day :(

You have two instances / version of MySQL running, looks like you have solved that one,
So you now backing up and moving across your databases.
From your screen shots your getting a few errors, but I can see you you importing your .sql files directly on the server root.
If you your .sql file does not contain a using statement phpmyadmin will not know which database to put the data into. Add the following line to it or move into the database and retry the import.
USE databasename;
Or if the databases do not exist you can use the following
CREATE DATABASE databasename;
USE databasename;
substituting databasename for the name of your database.

Related

How to make MySQL server in XAMPP work well after a crash?

The MySQL server in XAMPP does not start well anymore.
I tried changing the port as recommended here, and the server still does not start, although it attempts to do this: a new PID is shown for a fraction of second next to MySQL in the context of the screenshot below when clicking on Start.
I also tried to run netstat -ano|find "3306" (I tried with 3307 too) but it does not show anything, the same when running it in the Command Prompt as admin. I also restarted the computer and removed the new PHP code I wrote today. Yesterday everything worked fine.
Note: the day before yesterday I had my working computer instantly turned off by mistake.
A screenshot:
The log file is here and a part of it says that it is a bug, but a bug of MariaDB which I do not use.
I am a beginner, I use MySQL just for WordPress.
Thank you.
Update 1
Running netstat -ab results in this.
Now I am checking if there are updates to XAMPP.
Update 2
It seems that there are no updates to XAMPP.
First of all check your port and check if your firewall is not blocking that port, try different ports 3306, 3307, 3308.
This is your error :
2020-02-20 9:40:14 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2020-02-20 9:40:14 0 [Note] Plugin 'FEEDBACK' is disabled.
2020-02-20 9:40:14 0 [Note] Server socket created on IP: '::'.
I would re-install xampp instead of spending tons of time on trying to find error.
There are some explanition here : https://forums.mysql.com/read.php?10,652134,652135#msg-652135
Open shell from from control panel and start mysql with this command:
mysqld –-console –-skip-grant-tables –-skip-external-locking
Open another shell from control panel and repair database with this command:
mysqlcheck -r --databases mysql --use-frm
Stop mysql, close shells and restart mysql normally.
Also see InnoDB Corruption and Recovery https://chepri.com/mysql-innodb-corruption-and-recovery/

How to resolve mysql port 3306 error on wamp?

I am getting following error when I test mysql port 3306:
***** Test which uses port 3306 *****
===== Tested by command netstat filtered on port 3306 =====
Port 3306 is not found associated with TCP protocol
Port 3306 is not found associated with TCP protocol
--- Do you want to copy the results into Clipboard?
--- Type 'y' to confirm - Press ENTER to continue...
I've tried many methods but it could not work. Apache is working fine but MySQL service is not able to start. Wamp icon is orange and showing only 1 of 3 services running.
I have tried all points mentioned in MySQL service not starting on WAMP?
After so much exploring, it is rectified now. The my.ini file inside the Windows folder was the real problem. It is conflicting with the WAMP mysql my.ini. Now it is working fine after deleting that file from the Windows folder.
after lots of struggling, I found the solution in this answer
for me, the reason for this issue was the wrong config data was cached for mysql so did this:
I tried going to: C:\wamp64\bin\mysql\mysql5.7.24\data and deleted the
following:
auto.cnf, xxxxxxxxx.err, xxxxxxxxx.pid, ib_logfile0 and ib_logfile1
But I left the ibdata1 alone as it references all local databases.(dont delete that at all!) I
then restarted wamp and it worked like a charm.
Delete the my.ini file inside the folder work
Go to cmd and run 'netstat /a' to get a list of all the ports running.
Check to see if TCP 0.0.0.0:3006 is on the list. On mine, it was not and 0.0.0.0:3008 was on the list instead.
To verify the database is in fact running:
Change directory to the folder holding the mysql version I expected to be running. Then I attempted to login with command line to the mysql database I instantiated with phpMyAdmin... using 'mysql -u yourloginId -p yourDataBaseName'
Hit enter and then enter your pass word. If you did not setup a password... skip the '-p'.
If you database is running you'll get a bunch of info related to it and changes the prompt to 'mysql'.... type in 'quit' and hit enter to exit out. Then you are done with cmd.
Since the database is running and WAMP is using ports in the 3000 range, then I assumed that 3008 is the correct port. Go to the WAMP icon click on it... go to php then php.ini and edit it. Do a find on 3006... and you will likely find it as mysql port... change it to the port actually running mysql... for me it was 3008. Save it and restart WAMP... Issue should be resolved.
going to C:\wamp64\bin\mysql*yourmysqlversion* you should find my.ini
After deleting that file you should be fine. Be sure to use your Wamp testing tools in wamp settings to test the ports for Mysql/Maria DB and Apache. Microsoft IIS is a common culprit for not making all services run.

Apache and Mysql using Ubuntu mate

I'm new to Ubuntu. I tried to run a .php file and connect it to a database. Everything is on-set. I already imported the database in phpMyAdmin but every time I access my database,it returns an error
This page isn’t working localhost is currently unable to handle this
request. HTTP ERROR 500
Turns out, it seems like my database isn't running at all. In Windows I just open the XAMPP and click Apache and MySQL buttons. While in Ubuntu,
I have no idea on how to start or run MySQL and Apache. I already tried running commands on the terminal but it won't help. Someone has already installed it on this computer, I just don't how to run it and what web-server platform is this running.
How do I do it and how would I know that my database is running and accessible?
Try to connect your database and access database via command line.
mysql -u [username] -p
you can replace [username] with your real username of mysql like root
it will prompt for password so you are type yours like root
prompt will say
mysql>
now you need to list all databases to see is database exists or not
show databases;
it will list down all databases. you may verify is your exists or not
then you can select database by
use databasename;
and then run
show tables;
it will show all tables.
so you can verify that mysql working, database exists and tables are there or not.
Use this command it will start the database is you have it
systemctl mysql start
This should do the trick you need to have mysql database or maria db installed
Check by running this command in terminal after the first one
mysql
And you can also add argument like host and login
mysql -h (your host default is localhost) -u (user default is root) -p (password default is none)
Check your files access level
sudo chmod -R 777 "location of your file"

MySQL Database cannot start on XAMPP for Mac

All of a sudden I am encountering this problem on my mac. I cant start my MySQL Database. I can only start my ProFTPD and Apache Web Server.
This is the application log:
Starting all servers...
Starting MySQL Database...
Starting Apache Web Server...
/Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started
Starting ProFTPD...
Checking syntax of configuration file
/Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started
I have even did some research through stackoverflow. First i tried to end the process through my activity monitor by i couldnt find the keyword sql on the filter search area. The second method i tried was adding the unset DYLD_LIBRARY_PATH
but that didnt even worked for me.
Can i know how to solve this problem. Helps would be really appreciated. Thank you
#1. Open XAMPP Installation Directory
#2. Open "etc" Folder
#3. Find "my.cnf" file and open it in any text editor
#4. Change Port from 3306 to 3307 (if you have installed skype or other apps)
#5. Add "innodb_force_recovery=1" under "myisam_sort_buffer_size=8M"
#6. Save "my.cnf" file
#7. Restart Mysql Server By Your Terminal by command:
"sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start"
You Get A message "Starting MySQL SUCCESS! "
For me, Xampp Control panel was not launching, and in Stackoverflow some where it was mentioned to add Read / Write for every one on every file of xampp, when I did that. It allowed me to launch xampp control panel but mysql was not starting.
Later I debuged and found that /Applications/XAMPP/xamppfiles/etc/my.cnf should not be writeable by everyone, mysql will ignore my.cnf if it is for everyone. I changed the permission to read only for this file, and able to start mysql server
I just solve the answer by going to the activity monitor and search for sql under all process and terminate it. then i restart my mac and now my sql database is working great for me.
I Know this post was originally posted last year, but I just had the same problem and I found the solution for me. So here it is, just in case this can help somebody else.
I tried all the suggestions I found online, including trying to terminate MySQL on the activity monitor, but then I realized that when you download/upgrade XAMPP - MySQL, the option to automatically start MySQLserver on Startup is ON. You need to turn it off. Here is what you do:
Go System Preferences and click on the Mysql icon, You should get this window:
Uncheck that option. You will be asked for your password. After you are done with that, restart your computer and the problem should be fixed.
I hope that help somebody who is as confused as I was. lol ✌🏼
Xampp Control Panel> Manage Server> Mysql Database > Configure > change the port from 3306 to 3307
At least it worked for me in mac.
For me using macOS Catalina, I had to delete this 2 files then quit and restart the manager-osx:
MyName-MacBook-Pro.local.err
tc.log
The folder path is this: /Applications/XAMPP/xamppfiles/var
Note: the 2 files were automatically regenerated after I start and Apache and MySQL
If mysql is not starting in xampp, it might be a port conflict issue. Mysql run by default on port 3306. you need to check if another application is occupying that port. use following command to check app occupying a port
lsof -nP -i4TCP:3306
if you find an application occupying that port, stop the application and restart xampp. As an alternative, you can go to php.ini file or click configure in the dropdown and change the mysql port to 3307
I spent whole day trying to resolve this issue. Changing the port no from 3306 to 3307 worked for me. Simply open the configure module and change the port number. Hope it works for you.
In case this may help. I followed all the steps above still nothing worked for me. And I follow this article MySQL database won't start in xampp and it worked. what is says is:
Steps
Open terminal and type
sudo su
and then put in your password
Then type
ps aux | grep mysql
You will need to get the process id of mysql. There should be number near the top, something like 739 or 8827 (in my case I got 74689, just look after mysql or _mysql process id)
Kill the process using
kill -9 {process id}
this should look something like this: kill -9 739
Restart MySQL in manager-osx
If any of the above don’t work, This should work:
sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start
I tried the suggested solutions above however none worked for me. So I uninstalled XAMPP and then reinstalled it and so now MySQL server starts up ok.

Can't connect to MySQL, even though running

This is driving me crazy! I have MySQL preference pane on my Mac OS X Lion, and also start and stop it from Terminal. mysql works from terminal and I can connect to databases, but when I do it from PHP source code it doesn't connect. It worked last night but now it doesn't and I dont know why. Here is a few details:
I'm telling php.ini to look for mysql.sock in the correct directory
I have also set the socket variable in my.cnf of mysql to the correct path.
Just to be sure, I have created a symlink in the default directory for mysql socket (/tmp/mysql.sock) to link to the socket file in /var/tmp/mysql.sock.
When I have stopped MySQL from the preference pane, and I try to start it from Terminal, it says 'SUCCESS!' but I can't use it with the command mysql in Terminal.
Can anyone get anything out from this messed up situation??
Answering my own question:
OK so I don't know why but I had discrepancies in the configuration. Even though I had set the socket variable in my.cnf file, when I started mysql server, it always looked for a different location for the socket.
my.cnf
[mysqld]
socket=/var/tmp/mysql.sock
[client]
socket=/var/tmp/mysql.sock
and I was still getting the error: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2). Note how it still looks for /tmp/mysql.sock?
After finding this link, I realised that my mysql server was never reading my config file in /usr/local/mysql/my.cnf.
This is what I got from mysqladmin command:
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
Solution: I created a symlink in my home folder
ln -s /usr/local/mysql/my.cnf ~/.my.cnf
And yess! Problem solved :)

Categories