可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.
回答1:
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
回答2:
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.
回答3:
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.
回答4:
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
- Go to official mysql installation guide and follow line by line
- You need to download a .deb file from here that configures which version of mysql you want to install and other configurations
- 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!
回答5:
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.
回答6:
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
回答7:
You might be interested reading this question and aswers.
Isn't the default password the empty string ?