LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Problem connecting to mysql database with mysql workbench (https://www.linuxquestions.org/questions/linux-newbie-8/problem-connecting-to-mysql-database-with-mysql-workbench-4175731793/)

Al99 12-14-2023 07:18 AM

Problem connecting to mysql database with mysql workbench
 
Hi I posted this on mysql forums but nobody replied so I wonder if someone could help me here? I am new to mysql and I want to learn some code. I installed mysql community workbench on linux mint victoria with snapd and then I installed mysql client and server with the software centre. I can see a database in mysql workbench : Local instance 3306 : root : localhost:3306. When I click on it I get the following message:

Your connection attempt failed for user 'root' to the Mysql server at localhost:3306:

Access denied for user 'root'@'localhost'

Please:
1 Check that Mysql is running on address localhost
2 Check that Mysql is reachable on port 3306(note: 3306 is the default, but this can be changed)
3 Check the user root has rights to connect to localhost from your address(Mysql rights define what clients can connect to the server and from which machines)
4 Make sure you are both providing a password if needed and using the correct password for localhost connecting from the host address you are connecting from

Can someone show me how to carry out these checks so I can connect to the database and practice some code?

Thanks.

TB0ne 12-14-2023 07:43 AM

Quote:

Originally Posted by Al99 (Post 6470381)
Hi I posted this on mysql forums but nobody replied so I wonder if someone could help me here? I am new to mysql and I want to learn some code. I installed mysql community workbench on linux mint victoria with snapd and then I installed mysql client and server with the software centre. I can see a database in mysql workbench : Local instance 3306 : root : localhost:3306. When I click on it I get the following message:
Code:

Your connection attempt failed for user 'root' to the Mysql server at localhost:3306:

Access denied for user 'root'@'localhost'

Please:
1 Check that Mysql is running on address localhost
2 Check that Mysql is reachable on port 3306(note: 3306 is the default, but this can be changed)
3 Check the user root has rights to connect to localhost from your address(Mysql rights define what clients can connect to the server and from which machines)
4 Make sure you are both providing a password if needed and using the correct password for localhost connecting from the host address you are connecting from

Can someone show me how to carry out these checks so I can connect to the database and practice some code?

Did you try to look up how to do any of this??? Doing basic research should be something done for any issue.

MySQL is just another Linux service. Try running "sudo systemctl status mysql.service" and see if it's running. Did you actually modify the MySQL config to change the port?? If not, then it's still using 3306. And root should (by default) have access to things (again, unless you've changed things).

yancek 12-14-2023 10:49 AM

Which distribution of Linux are you using and which version?
I would suggest running mysql_secure_installation explained at the link below. Did you use a password when trying to access mysql? Did you create a password for root in mysql?

https://dev.mysql.com/doc/refman/8.0...tallation.html

jayjwa 12-14-2023 09:17 PM

See if the process is running:
Code:

ss -l -p -n | grep mysql                                                                                                     
u_str LISTEN 0      80            /var/run/mysql/mysql.sock 8375                  * 0    users:(("mariadbd",pid=1492,fd=24))

Note that there's a "skip-networking" parameter. Make sure the server's not started with that if you want to connect over a network. Check its config files. Try to access the server through the command line first to make sure it works. Also check ~/.my.cnf config files. If you don't have a .my.cnf, you can specify the user and pass like mysql -u root -p.

Code:

mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.11.6-MariaDB Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database          |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.023 sec)

MariaDB [(none)]> \q
Bye


Al99 12-15-2023 08:58 AM

Problem logging in
 
when I try to log in in the terminal with mysql -u root -p
I get ERROR 1698 (28000): Access denied for user 'root'@'localhost'
how do I correct that please?

michaelk 12-15-2023 09:11 AM

I would guess that you never set a password or changed the authentication method for root.

https://phoenixnap.com/kb/access-den...root-localhost

TB0ne 12-15-2023 09:18 AM

Quote:

Originally Posted by Al99 (Post 6470602)
when I try to log in in the terminal with mysql -u root -p
I get ERROR 1698 (28000): Access denied for user 'root'@'localhost'
how do I correct that please?

As you were told, you should already have access. You were told how to check to see if the service is running, but you haven't actually told us if you DID anything yet, aside from the same thing you did initially; try to log in.

Did you check the service to see if it's running??? Did you change anything?? Did you try the command given to you by jaywa? Did you try to look up the exact message you got, that michaelk gave you a link for???

TenTenths 12-15-2023 11:04 AM

Quote:

Originally Posted by Al99 (Post 6470381)
4 Make sure you are both providing a password if needed and using the correct password for localhost connecting from the host address you are connecting from

By default newer installs of MySQL set a random password that you can retrieve by doing grep ‘temporary’ on the mysql log file then you can set the root password with:

Code:

mysql -uroot -pWhateverYouFound

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyN3wP4ssw0rd';
flush privileges;
exit;


Al99 12-15-2023 11:11 AM

I tried this and I think its working now.

Thanks for all your help! :-)

https://www.databasestar.com/access-...-at-localhost/

yancek 12-15-2023 12:05 PM

If you had run mysql_secure_installation as suggested above, this would all have been taken care of as you are then asked to create a root password for mysql if you don't have one.


All times are GMT -5. The time now is 02:27 AM.