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


10

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

create database Hello;

我的错误是:

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'vivek'

如果我以root用户身份登录,那么连MySQL也无法打开并显示错误消息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

现在要做什么。


1
您使用哪个命令连接到MySQL?
2014年

我刚刚写了mysql连接到MySQL
viveksinghggits,2014年

Answers:


12

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

mysql -u root -p

然后输入您的MySQL密码。


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

使用创建用户-更改newuser为所需的用户名和password密码。

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

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

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

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

GRANT [type of privilege] ON [database name].[table name] TO '[username]'@'localhost';

如果您需要拒绝或撤消某些特权,请运行:

REVOKE [type of permission] ON [database name].[table name] FROM '[username]'@'localhost';

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


感谢名单猪头...它帮助我
viveksinghggits

1

在保存模式下打开mysql

sudo mysqld_safe --skip-grant-tables

==============================

以root用户身份登录mysql

mysql -u root

==============================

授予该帐户的所有特权

GRANT ALL PRIVILEGES ON `%`.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

我认为这也将工作...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.