Fedora上mariadb的默认密码是什么?

Ton*_*ony 59 mysql passwords fedora mariadb

我刚刚通过yum安装了mysql,并且操作系统fedora为我安装了mariadb.我知道mariadb是mysql的一个新分支,但我不明白为什么它不要求我设置密码.我试过123456等等,但我失败了.我的fedora是新的,这是第一次安装mysql/mariadb.我该怎么办呢?

Ale*_*ico 87

我有同样的问题.密码是空的,但即便如此,也会显示错误消息.解决方案就是使用"sudo"

$ sudo mysql
Run Code Online (Sandbox Code Playgroud)

将打开mysql工具

为了保护数据库,您应该再次使用sudo.

$ sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

  • 安装命令上缺少的sudo帮助我解决了这个问题!+1 (11认同)

Flo*_*ris 54

来自https://mariadb.com/kb/en/mysql_secure_installation/:

为了登录MariaDB以保护它,我们需要root用户的当前密码.如果您刚刚安装了MariaDB,并且尚未设置root密码,则密码将为空,因此您只需按Enter键即可.

密码为空

我想那是你的答案.

  • 它显示:[lucups @ localhost nginx] $ mysql -uroot -p输入密码:ERROR 2002(HY000):无法通过socket'/var/lib/mysql/mysql.sock'连接到本地MySQL服务器(2) (5认同)
  • 谢谢你的回答,我试过了,但似乎不行. (4认同)
  • 我试过了,但不是不起作用,并显示相同的错误。 (2认同)
  • 当我按回车键时,在不使用 sudo 的情况下运行 mysql_secure_installation 会出现“密码错误”错误消息。在 sudo 下运行对我来说很有效。 (2认同)

red*_*hka 41

mariadb默认使用UNIX_SOCKET插件来验证用户root.https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/

"因为他已经确定了自己的操作系统,他不需要为数据库再做一次"

所以你需要以unix上的root用户身份登录才能以root身份登录mysql/mariadb:

sudo mysql
Run Code Online (Sandbox Code Playgroud)

如果您想从普通的unix用户使用root登录,则可以禁用root用户身份验证插件.

之前您可以使用mysql_secure_installation设置root密码(默认密码为空),然后让每个用户以root登录身份进行身份验证:

shell$ sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
[mysql] \q
Run Code Online (Sandbox Code Playgroud)


Sté*_*gne 13

默认密码为空.更准确地说,您甚至不需要在本地主机上以root用户身份登录密码.你只需要根源.但是如果你需要第一次设置密码(如果你允许远程访问root),你需要使用:

sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

输入空密码,然后按照说明操作.

您遇到的问题是,当您尝试从本地计算机以root身份登录时,您需要是root用户.

在Linux上:只有在用户询问它的情况下,mariadb才会在套接字(localhost)上以root用户身份接受连接.这意味着即使你尝试

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

并拥有正确的密码,您将被拒绝访问.同样如此

mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

Mariadb将始终拒绝密码,因为当前用户不是root用户.所以你需要用sudo(或作为你机器上的root用户)调用它们所以你只想在本地使用:

sudo mysql
Run Code Online (Sandbox Code Playgroud)

sudo mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

当我从mysql迁移到mariadb时,我想让我想出来.


Mic*_*man 12

Lucups,Floris是对的,但你评论说这并没有解决你的问题.我遇到了相同的症状,其中mysql(mariadb)不接受它应该接受的空白密码,并且'/ var/lib/mysql'不存在.

我发现这个Moonpoint.com页面是关键的.也许像我一样,你试图启动mysqld服务而不是mariadb服务.尝试:

systemctl start mariadb.service
systemctl status mysqld service
Run Code Online (Sandbox Code Playgroud)

通常遵循:

mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)

  • 我遇到这个问题已经很长时间了 :) 我已经放弃了 Fedora Linux 发行版,现在我正在使用 Ubuntu Server。我通过apt-get安装了mysql,它让我在安装过程中设置密码。无论如何,非常感谢您的回答!我认为这对其他人有帮助。 (2认同)

Anu*_*raz 7

在安装mysql mariadb 10.3之后出现了相同的问题。密码不为NULL,因此仅按ENTER键对我无效。所以最后不得不更改密码。我从这里按照指示进行。简而言之 停止服务器

sudo systemctl stop mariadb.service
Run Code Online (Sandbox Code Playgroud)

通过启动数据库服务器并跳过联网和权限表来通过后门获得对服务器的访问。

sudo mysqld_safe --skip-grant-tables --skip-networking &
Run Code Online (Sandbox Code Playgroud)

以root身份登录

sudo mysql -u root
Run Code Online (Sandbox Code Playgroud)

然后更改服务器密码

use mysql;
update user set password=PASSWORD("new_password_here") where User='root';
Run Code Online (Sandbox Code Playgroud)

请注意,在MySQL 5.7之后,删除了mysql.user表字段中的password字段,现在该字段名称为'authentication_string'。因此,请根据mysql版本使用适当的表名。最终保存更改并重新启动服务器

flush privileges;
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service
Run Code Online (Sandbox Code Playgroud)

  • 完成此操作后,如果您希望能够从 *仅* unix 套接字之外的其他位置登录,您还必须执行 ```UPDATE user SET plugin='' WHERE user = 'root';``` -默认的“plugin”值为“unix_socket”,这使得root只能通过unix套接字登录。 (2认同)

小智 6

Mariadb 的默认密码为空。

$ mysql -u root -p
Enter Password:    <--- press enter
Run Code Online (Sandbox Code Playgroud)


Dhr*_*esh 5

如果您的数据库安装正确并输入了错误的密码,则抛出的错误将是:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

以下错误表示您尚未完全启动/安装DB.您的命令无法找到您的数据库实例并与之通信.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")

最佳实践是在全新安装后更改密码

$ sudo service mysql stop
$ mysqld_safe --skip-grant-tables &
$ sudo service mysql start
$ sudo mysql -u root

MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=PASSWORD("snafu8") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;

$ sudo service mysql restart
Run Code Online (Sandbox Code Playgroud)

要么

mysqladmin -u root password 'enter password here'
Run Code Online (Sandbox Code Playgroud)