无法使用 DBeaver 连接到 MariaDB
Unable to connect to MariaDB using DBeaver
我刚刚在 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,但我也遇到了完全相同的问题。
我错过了什么?
事实证明,这是 MariaDB 和 MySQL 的预期行为。为了解决这个问题,建议创建一个单独的用户并授予对所有创建的数据库的访问权限。这是有关如何使用命令行创建数据库并向您选择的用户授予权限的分步指南。
登录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;
我刚刚在 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,但我也遇到了完全相同的问题。
我错过了什么?
事实证明,这是 MariaDB 和 MySQL 的预期行为。为了解决这个问题,建议创建一个单独的用户并授予对所有创建的数据库的访问权限。这是有关如何使用命令行创建数据库并向您选择的用户授予权限的分步指南。
登录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;