以保存模式打开mysql

以保存模式打开mysql

我刚刚以普通用户(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

要以 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

答案2

以保存模式打开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;

我认为这也会起作用......

相关内容