由于访问被拒绝,无法创建数据库

viv*_*its 10 mysql

我刚刚以普通用户(vivek)的身份登录Ubuntu 12.04并打开终端创建数据库,我写道:

create database Hello;
Run Code Online (Sandbox Code Playgroud)

我的错误是:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'
Run Code Online (Sandbox Code Playgroud)

如果我以 root 用户身份登录,那么即使 MySQL 也不会打开并出现错误消息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud)

现在做什么。

Par*_*rto 13

要以 root 用户身份登录 MySQL,您可以使用:

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

然后输入您的 MySQL 密码。


要以其他用户身份登录,您必须先创建该用户并授予他权限。

创建用户使用 - 更改newuser为您想要的用户名和password您选择的密码。

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)

遗憾的是,此时newuser没有权限对数据库执行任何操作。
因此,第一阶段是授予用户做“事情”的权限。
要授予对所有数据库和表的所有权限(选择、创建、删除、更新、删除等),请运行:

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
Run Code Online (Sandbox Code Playgroud)

要授予对特定数据库和表的特定权限,只需运行:

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';
Run Code Online (Sandbox Code Playgroud)

如果您需要拒绝或撤销某个特权,只需运行:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';
Run Code Online (Sandbox Code Playgroud)

来源:https : //www.digitalocean.com/community/articles/how-to-create-a-new-user-and-grant-permissions-in-mysql