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

时间:2013-11-28 16:30:11

标签: mysql passwords fedora mariadb

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

13 个答案:

答案 0 :(得分:72)

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

$ sudo mysql

将打开mysql工具

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

$ sudo mysql_secure_installation

答案 1 :(得分:49)

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

  

为了登录MariaDB以保护它,我们需要当前的   root用户的密码。如果你刚刚安装了MariaDB,那么你   还没有设置root密码,密码将为空,所以你   应该按回车。

密码为空

我认为这是你的答案。

答案 2 :(得分:34)

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

  

“因为他已经确定了自己的操作系统,他确实如此   不需要再次为数据库“

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

sudo mysql

如果您想从普通的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

答案 3 :(得分:12)

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

我发现此Moonpoint.com页面已经过时了。也许像我一样,你试图启动mysqld服务而不是mariadb服务。尝试:

systemctl start mariadb.service
systemctl status mysqld service

遵循惯例:

mysql_secure_installation

答案 4 :(得分:11)

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

sudo mysql_secure_installation

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

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

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

mysql -u root -p

如果密码正确,您将被拒绝访问。同样适用于

mysql_secure_installation

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

sudo mysql

sudo mysql_secure_installation

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

答案 5 :(得分:5)

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

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

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

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

mysqladmin -u root password 'enter password here'

答案 6 :(得分:5)

在安装mysql mariadb 10.3之后出现了相同的问题。密码不是NULL,因此仅按ENTER对我不起作用。所以最后不得不更改密码。我遵循了here的指示。 简而言之 停止服务器

sudo systemctl stop mariadb.service

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

sudo mysqld_safe --skip-grant-tables --skip-networking &

以root用户登录

sudo mysql -u root

然后更改服务器密码

use mysql;
update user set password=PASSWORD("new_password_here") where User='root';

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

flush privileges;
sudo systemctl stop mariadb.service
sudo systemctl start mariadb.service

答案 7 :(得分:3)

我相信我从这里找到了正确的答案。

GitHub Wnmp

所以一般来说它说:

  

用户: root
密码: 密码

适用于版本10.0.15-MariaDB,通过 Wnmp ver安装。 Windows 7 x86上的2.1.5.0

答案 8 :(得分:1)

默认情况下,MariaDB安装具有匿名用户,允许任何人登录MariaDB而无需为其创建用户帐户。这仅用于测试,并使安装更顺畅。你应该在进入之前删除它们 生产环境。

答案 9 :(得分:1)

对我来说,password = admin工作了。我使用pacmanArchManjaro KDE)安装了它。

NB:已安装MariaDB,作为Amarok的依赖项。

答案 10 :(得分:1)

Mariadb的默认密码为空。

$ mysql -u root -p
Enter Password:    <--- press enter

答案 11 :(得分:0)

我遇到了同样的问题,所有解决方案均无效。然后,我撞到an answer in stackexchange dba,导致this link。所以这就是我所做的:

  1. 运行了sudo mysqld_safe --skip-grant-tables --skip-networking &
  2. 运行sudo mysql -uroot进入mysql控制台
  3. 连续运行ALTER USER root@localhost identified via unix_socket;flush privileges;以允许无密码登录

如果要设置密码,则需要再执行一步,即连续运行ALTER USER root@localhost IDENTIFIED VIA mysql_native_password;SET PASSWORD = PASSWORD('YourPasswordHere');

希望这将对某人有所帮助,并为我将来的问题提供参考

答案 12 :(得分:-1)

只需将您当前的登录用户切换为root,然后无需密码即可登录 mysql -uroot