I am installing the package mysql-server on debian (actually Raspbian, the Debian version for raspberry pi). I'm installing it with the following command
sudo apt-get install mysql-server
During the installation I'm not asked to enter a root password. And if I try to connect to mysql with the following command :
mysql -u root
or
mysql -u root -p
and using the system root password, I got the following error :
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
I am quite confused since apparently I should be asked to provide a root password during the installation.
What should I do ?
Regards.
You might be interested reading this question and aswers.
Isn't the default password the empty string ?
Download apt repository from mysql official site https://dev.mysql.com/downloads/repo/apt/
Select your version and click next and select ok and click next.
now
while installing it will ask for password.
Try this:
After installation, run MySql Secure Installation:
You'll be asked a series of security related configuration questions, including setting the root password.
Once the root password is set, you'll need to be logged in as root (or use
sudo
) to login. This is a consequence of how MySql uses credentials based on process uidIn my case nothing worked as mentioned here, following worked for me. As described here also: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html
A superuser account 'root'@'localhost is created. A password for the superuser is set and stored in the error log file. To reveal it, use the following command:
shell> sudo grep 'temporary password' /var/log/mysqld.log
Here you go:
In the new my-sql if the password is left empty while installing then it is based on the
auth_socket
plugin.The correct way is to login to my-sql with
sudo
privilege.And then updating the password using:
Once this is done
stop and start
the mysql server.For complete details you can refer to this link.
Do comment for any doubt.
If someone facing this problem in installing MYSQL in Ubuntu 18.04.
Ubuntu 18.04 uses sockets for authorization and not passwords!!
(https://websiteforstudents.com/mariadb-installed-without-password-prompts-for-root-on-ubuntu-17-10-18-04-beta/)
For me logging in was as simple as:
Don't forget the
sudo
I really hope there should have been a message stating that Ubuntu no longer used passwords when attempting to run mysql. this was a really drastic change in functionality.