第一次如何设置mysql root密码

问题描述 投票:0回答:2

我使用的是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 google 上找到的所有方法来创建 root 密码,但我不能。

我尝试了这里提出的解决方案:

还有许多订单链接。

如何为mysql设置root密码以在Adminer中使用它

mysql
2个回答
8
投票

如果您从未为MySQL设置过root密码,则服务器根本不需要密码即可以root身份连接。要首次设置 root 密码,请在 shell 提示符下使用 mysqladmin 命令,如下所示:

mysqladmin -u root password newpass

2
投票

我关注了这个链接。最初的 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';

在MySql 8中只需将最后一行更改为:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'my password';

以下 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
© www.soinside.com 2019 - 2024. All rights reserved.