为mysql数据库创建新用户并仅授予某些特权

时间:2013-06-21 05:25:13

标签: php mysql

我想创建一个新的mysql用户,可以访问mysql数据库中的一些选项。

这是我当前的创建用户查询:

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

当我运行此代码时,服务器显示以下错误消息:

(Error: 1227 SQLSTATE: 42000 (ER_SPECIFIC_ACCESS_DENIED_ERROR)

Message: Access denied; you need the %s privilege for this operation)

使用MySQL 5.0版。

请帮帮我

  1. 为mysql数据库创建新用户
  2. 为该用户设置密码
  3. 向用户提供GRANT
  4. 禁用删除,删除,导出和导入等选项。

6 个答案:

答案 0 :(得分:1)

有三个步骤

Create Database
Create new User
Give the rights with grant all command

喜欢这个

CREATE DATABASE DBTEST

这是因为任何错误然后创建新用户而成功运行

CREATE USER 'NEWUSER'@'LOCALHOST' IDENTIFIED BY 'NEWUSERPASSWORD'

用户创建之后给予创建表删除表.....

GRANT ALL PRIVILEGES ON *.* TO 'NEWUSER'@'LOCALHOST'

并且在所有提交一个命令之后

FLUSH PRIVILEGES

你也可以像这样给出特定数据库的权利

GRANT ALL PRIVILEGES ON DBTEST.* TO 'NEWUSER'@'LOCALHOST'

答案 1 :(得分:0)

您当前登录的用户无权创建新用户。使用其他帐户登录。

答案 2 :(得分:0)

您用来连接数据库并创建用户的用户没有创建新用户的权限。使用管理员用户

连接到数据库

答案 3 :(得分:0)

事情是您使用没有权限或权限的用户连接到您的数据库 添加其他用户。 您需要做的第一件事就是在这种情况下与您的root用户或管理员用户建立联系 您可以完全最大化add,edit,delete,update,truncate,drop的所有权限 虽然拥有所有这些特权,你也应该知道何时正确使用它们,因为如果没有 你最终可能会弄乱你的数据库。

注意:如果您的用户被授予特定用户使用的具有一些特权 潜伏并寻找想法如何可能扩大你的权利并不是一个好主意 。最好让你的root管理员给你你需要的权限,而不是试图创建另一个来绕过它。

答案 4 :(得分:0)

您应该使用管理员或root帐户登录数据库,以便创建新用户。

答案 5 :(得分:0)

我认为几乎在GRANT类型或调用用户构成的GRANT级别与他试图授予其他用户的GRANT级别不匹配的每种情况下,错误都是错误的。