11

I recently followed some tutorials and installed mysql using sudo apt-get install mysql-server-5.7

I can connect to the database using password by running the following command:

sudo mysql -u root -p

I try to connect by running:

mysql -u root -p

but I get the error:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Why? How can I fix this?

fosslinux
  • 3,831

2 Answers2

28
  1. Access with sudo: sudo mysql -u root -p
  2. Delete the root user: drop user 'root'@'localhost';
  3. Create the root user again: create user 'root'@'%' identified by 'your_password';
  4. Give permissions: grant all privileges on *.* to 'root'@'%' with grant option;
  5. Update permission tables: flush privileges;
  6. Exit MYSQL and try to reconnect without sudo.

Font: can't login as mysql user root from normal user account in ubuntu 16.04

0
  1. Access with sudo : sudo mysql -u root -p
  2. Remove the super user : drop user root@localhost;
  3. Create a user the same name : create user 'root'@'localhost' identified by 'password';
  4. Grant all privileges to the user : grant all privileges on *.* to 'root'@'localhost';
  5. Refresh permission table : flush privileges;
  6. Exit the table : exit Now try to access it directly without sudo command. works on Ubuntu 20.10 (Groovy Gorilla)