Fresh mysql-server installation does not ask for p

2020-03-01 07:06发布

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.

7条回答
疯言疯语
2楼-- · 2020-03-01 07:18

You might be interested reading this question and aswers.

Isn't the default password the empty string ?

查看更多
Rolldiameter
3楼-- · 2020-03-01 07:19

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.

查看更多
做个烂人
4楼-- · 2020-03-01 07:27

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

查看更多
三岁会撩人
5楼-- · 2020-03-01 07:32

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

查看更多
6楼-- · 2020-03-01 07:33

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.

查看更多
男人必须洒脱
7楼-- · 2020-03-01 07:34

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.

查看更多
登录 后发表回答