phpMyAdmin MySQL error # 1045 - mysql

I have been working on setting up a home web server all morning now and it is working great except the fact that I can no longer access phpMyAdmin from the web server. The password and user in config.inc.php match the password in MySQL, I can access the MySQL Console fine.
I have set up port forwarding for the web server, registered a domain name with a DNS, and modified the httpd.conf file to allow access.
Here is the httpd.conf directory portions:
ServerName localhost:80
DocumentRoot "c:/wamp/www/"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
# onlineoffline tag - don't remove
Order allow,deny
Allow from all
</Directory>
And here is my config.inc.php file:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'XXXXXXX';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
/* rajk - for blobstreaming */
$cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
$cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';
?>
I have read hours and hours of questions and answers, I have no idea what is causing this, any ideas? Thank you.

I found out what the problem was.
While all my above information is correct the web browser cached the information when it was incorrect. All I had to do was clear the cache and restart the server.

For me after searching in many answers was changing host in config.inc.php.
By default it is:
$cfg['Servers'][$i]['host'] = '127.0.0.1';
But changing to
$cfg['Servers'][$i]['host'] = 'localhost';
solved problem for me.

Related

Not able to run mysql as admin in xampp

I am unable to run mysql as admin.
In the xampp command window, I tried login in as root it was successful but not able to run MySQL as admin.
Even in the control panel, there are no such errors displayed everything seemed perfect but while running MySQL as admin it is showing invalid settings
Did you install and run phpmyadmin ? (if you can run phpmyadmin, then login as root and your password and you can do all administrative works such as creating user / database, etc.)
In my understanding XAMPP comes with phpmyadmin by default. you may use the following standard link:
http://localhost/phpmyadmin
my config.inc.php was
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'cookie';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
I changed it to
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
And this resolves my issue

Access phpmyadmin remotely

I want to make this computer as my server for my office. i've searched the internet on how to access phpmyadmin remotly and some suggest to edit the config.inc.php to add this
$i++;
$cfg['Servers'][$i]['host'] = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
some suggest to edit the httpd-xampp.conf and change some code with this
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Allow from all
Allow from 127.0.0.1
which one should i use? i don't want it to be allow from all so not everyone can access it since it's for office.
i'm using Windows 10 and PHP 7.3.2

Cannot log in to the MySQL server (XAMPP)

I am having an issue with logging into phpMyAdmin, specifically when I log in with the root user and the correct password it gives me this error:
Cannot log in to the MySQL server
When I log in using the 'pma' user without password it works, but it doesn't have the permissions I need to use obviously. I'm pretty sure this is the 1045 error.
Here are my settings in config.inc.php:
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'sutdenlol';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';
/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';
If you need more information please tell me instead of down voting.
Edit:
PHP scripts can access the server with root with the correct password.
Try to change
$cfg['Servers'][$i]['host'] = 'localhost';
to
$cfg['Servers'][$i]['host'] = '127.0.0.1';
and check do you have installed MySql Server on your machine. You can download it here - https://dev.mysql.com/downloads/

PhpMyAdmin login screen

I didn't have this problem before but when I installed WAMP on a fresh copy of windows and when I wanted to open phpmyadmin, this screen appeared: click me
Why? Why didn't I have this before? Is this new version or something? How can I login?
EDIT: Thanks for all the help and thanks for confirming this comes with the latest version! Though I do receive two messages on the bottom of the phpmyadmin screen now when I log in:
"Your configuration file contains settings (root with no password) that correspond to the default MySQL privileged account. Your MySQL server is running with this default, is open to intrusion, and you really should fix this security hole by setting a password for user 'root'."
and "The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here."
Go to WAMP folder. And search config.inc.php file. When you open that file, the file will have something like this:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
/* End of servers configuration */
$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
Search for this line:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
And change the ‘config’ into ‘cookie’:
$cfg['Servers'][$i]['auth_type'] = 'config';
Save that, then open up phpmyadmin, and it will work great.
Answer for the updated question:
Its just a warning to show that there is no password for the default user root. If you want to set password for root.
GO tp phpmyadmin interface->Previlages->select user root>edit Previlages->change password
it is added in new version of wamp server. Just type username as "root" and password as blank and click go.You can set password after login.

phpMyAdmin - what' swrong with next configuration?

tryin to install phpMyAdmin on my Fedora server, but if i open it in browser, i get next error:
2002 Cannot log in to the MySQL server
file config.inc.php have next content:
<?php
/* Servers configuration */
$i = 0;
/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123';
/* End of servers configuration */
$cfg['blowfish_secret'] = '4c45c50fe8b283.01675296';
$cfg['DefaultLang'] = 'en-utf-8';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
just to add, in mysql i created user root, with password 123, so i can log in with:
mysql -h localhost -u root -p123
can you help me where is the problem?
mysql -h localhost actually connects via unix socket instead of a TCP connection to 127.0.0.1. Explicitly specifying mysql -h 127.0.0.1 on the other hand does use the TCP method.
So what you are testing is a local socket connection, not a network one. Make sure phpMyAdmin uses the same method; the line
$cfg['Servers'][$i]['connect_type'] = 'tcp';
should probably read
$cfg['Servers'][$i]['connect_type'] = 'socket';
Your mysqld probably has either networking disabled or user permissions denying root/123 access from the network.
With -h localhost in your example you are actually connecting over a named socket. You can see for yourself - from the mysql client type "\s":
mysql> \s
--------------
(....)
Connection: Localhost via UNIX socket
ok, i solve it.
in configuration file, i just changed 'localhost' to '127.0.0.1', and it started to work.
tnx anw!