如何首次设置MySQL root密码

4
我使用 Linux 操作系统,从未安装过数据库管理系统。但是当我在终端中键入 mysql --version 时,会出现如下信息:mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
我可以在没有密码的情况下连接到数据库,只需键入 mysql 即可。
同时,我安装了 Adminer,并想用它来替代 phpMyAdmin 管理我的数据库,但我无法连接,浏览器显示以下错误信息:Access denied for user 'root' @ 'localhost'
我尝试了在 Google 上找到的所有方法来创建 root 密码,但都失败了。
我尝试了以下链接中提供的解决方案: 以及其他许多链接。
请问如何设置 MySQL 的 root 密码,以便在 Adminer 中使用?

您能否尝试使用 mysql -u root -p 从控制台进行连接,然后输入已配置的密码?如果可以连接,则 Adminer 的配置不正确。如果无法连接,请向我们展示您尝试过的确切命令。 - JensV
我已经尝试过了,无论我输入什么密码,我都能成功连接。 - user11447340
你能尝试一下不使用机器上的root用户吗?因为这可能是绕过身份验证的原因。 - JensV
我应该使用哪个用户? - user11447340
任何非root用户 - JensV
2个回答

4
如果您从未为MySQL设置过根密码,则服务器在连接时不需要任何密码。要首次设置根密码,请在shell提示符下使用mysqladmin命令执行以下操作:
mysqladmin -u root password newpass

在设置密码后,您是否停止并启动了MySQL服务? - Karthikeyani Anandhan
是的,我试了几次。我甚至重新启动了我的电脑。 - user11447340
你是否以“管理员身份运行”模式打开命令提示符窗口并设置了密码? - Karthikeyani Anandhan
我正在使用Kali Linux,因此我始终处于root状态。 - user11447340
我使用了 mysql_secure_installation 来配置根密码,但仍然无法生效,我总是能够连接而不需要密码。 - user11447340
当我在终端中输入 mysql --version 时,我得到的是 mysql Ver 15.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2. - user11447340

1
我按照这个链接进行操作。最初的Mysql设置没有成功,所以我进行了密码重置。 Mysql版本5.7.38:
警告:在此操作期间,任何人都可以无需密码访问您的MYSQL服务器!
$> sudo nano /etc/mysql/my.cnf

[mysqld]          # add if not present
skip-grant-tables # add line

$> sudo mysql restart && mysql #should login with user root without password
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("YourNewPassword") WHERE user='root';

以下SQL语句很重要:

mysql> UPDATE user set plugin="mysql_native_password" where user='root';

mysql> FLUSH privileges;
mysql> QUIT;

sudo nano /etc/mysql/my.cnf
  skip-grant-tables #remove line

最新的MySQL似乎不再允许使用PASSWORD()函数了。 - undefined
1
在Mysql 8中,使用ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'my password';代替PASSWORD() - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接