我刚刚在Ubuntu 18.04上安装了MariaDB 10.1.29。从命令行我可以使用sudo连接:
sudo mysql -u root -p
但不是没有sudo。
另外,如果我尝试通过DBeaver连接到数据库,我会得到:
Could not connect: Access denied for user 'root'@'localhost'
虽然凭证是正确的。我尝试安装MySQL 5.7,但我也遇到了完全相同的问题。
我错过了什么?
答案 0 :(得分:1)
事实证明,这是MariaDB和MySQL的预期行为。要解决此问题,建议创建单独的用户并授予对创建的所有数据库的访问权限。以下是有关如何使用命令行创建数据库以及向您选择的用户授予权限的分步指南。
$ sudo mysql -u root -p
mysql> CREATE DATABASE `database_name`;
mysql> CREATE USER 'user_name' IDENTIFIED BY 'a_secure_password';
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'%' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;