我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?
我正在跟踪这个链接,但我在本地没有directadmin目录。
我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?
我正在跟踪这个链接,但我在本地没有directadmin目录。
当前回答
如果您在过去已经设置了密码,mysql -uroot -p解决方案将不起作用,
在我的例子中,我使用了上面的一些答案来解决这个问题(Ubuntu 16)。结果是:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
如果你在屏幕上看到这段文字: mysqld_safe UNIX套接字文件目录“/var/run/mysqld”不存在。 然后做:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables & # Look at the & at the end!
进入其他终端设置密码如下:
sudo mysql -u root
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('__NEW__PASSWORD__');
mysql> flush privileges;
mysql> quit;
然后重新启动服务并登录
# end mysqld_safe in the other terminal
sudo service mysql start
sudo mysql -h 127.0.0.1 -uroot -p
其他回答
mysql服务器安装后的默认密码是:mysql
如果您在过去已经设置了密码,mysql -uroot -p解决方案将不起作用,
在我的例子中,我使用了上面的一些答案来解决这个问题(Ubuntu 16)。结果是:
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
如果你在屏幕上看到这段文字: mysqld_safe UNIX套接字文件目录“/var/run/mysqld”不存在。 然后做:
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables & # Look at the & at the end!
进入其他终端设置密码如下:
sudo mysql -u root
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('__NEW__PASSWORD__');
mysql> flush privileges;
mysql> quit;
然后重新启动服务并登录
# end mysqld_safe in the other terminal
sudo service mysql start
sudo mysql -h 127.0.0.1 -uroot -p
这招对我很管用:
在终端类型上执行如下操作
$ sudo mysql -u root -p
Enter password://直接按Enter
mysql >
我用另一种方法解决了这个问题,这对一些人来说可能更简单。
我这样做是因为我尝试在安全模式下启动,但无法连接到错误: ERROR 2002 (HY000):无法通过socket '/var/run/mysqld/mysqld连接到本地MySQL服务器。袜子”(2)
我所做的就是以root用户正常连接:
$ sudo mysql -u root
然后我创建了一个新的超级用户:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit
然后以myuser身份登录
$ mysql -u myuser -p -h localhost
尝试更改密码没有给我任何错误,但对我没有任何帮助,所以我放弃并重新创建根用户
mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;
根用户现在正在使用新密码
有一件事绊倒了我在一个新的MySQL安装,并想知道为什么我不能得到默认密码工作,为什么甚至重置方法不起作用。 在Ubuntu 18上,MySQL服务器的最新版本在默认情况下根本不使用root用户的密码认证。这意味着不管你设置它为什么,它都不会让你使用它。它期望您从特权套接字登录。
mysql -u root -p
即使您使用了正确的密码,这也不起作用。
相反,你需要使用:
sudo mysql
这将适用于任何密码。 然后输入
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';
然后登出,现在它将接受您的密码。