简体   繁体   中英

Fresh mysql-server installation does not ask for password

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.

Try this:

After installation, run MySql Secure Installation:

pi@raspberrypi:~ $ sudo 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 uid

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.

$ sudo mysql -u root -p

And then updating the password using:

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

Once this is done stop and start the mysql server.

$  sudo service mysql stop
$  sudo service mysql start

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:

sudo  mysql -u root      

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.

In 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

I had the same problem which prevented me from being able to access mysql all the answers to use mysql_secure_installation after running sudo apt install mysql-server didn't work. Here's what worked

  1. Go to official mysql installation guide and follow line by line
  2. You need to download a .deb file from here that configures which version of mysql you want to install and other configurations
  3. After configurations are all done run sudo apt-get update && sudo apt-get install mysql-server This time you'd be asked for a password.

Hope it helps. Cheers!

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

sudo apt-get update  

sudo apt-get install mysql-server

while installing it will ask for password.

You might be interested reading this question and aswers .

Isn't the default password the empty string ?

在我的情况下,mysql root密码是我的超级用户密码。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM