MySQL新建用户,授权,删除用户,修改密码

MySQL用户管理教程
本文详细介绍如何在MySQL中创建用户、授权、修改密码及删除用户等基本操作步骤,并提供了具体实例。
首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的。

注: 本操作是在WIN命令提示符下,phpMyAdmin同样适用。
    用户:phplamp  用户数据库:phplampDB

1.新建用户。

//登录MYSQL

@>mysql -u root -p

//(其中-u root 部分可以写作-uroot,即略去空格,mysql依旧可以识别,其他命令也是一样。)

@>密码
//创建用户
mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));
//刷新系统权限表
mysql>flush privileges;
这样就创建了一个名为:phplamp  密码为:1234  的用户。

然后登录一下。

mysql>exit;

@>mysql -u phplamp -p

//上面的部分直接输入-p1234也同样可以成功登陆。

@>输入密码
mysql>登录成功

2.为用户授权。

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.
@>mysql -u root -p
@>密码
//首先为用户创建一个数据库(phplampDB)
mysql>create database phplampDB;
//授权phplamp用户拥有phplamp数据库的所有权限。 identified by '1234'表示密码为1234.
>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234';
//刷新系统权限表
mysql>flush privileges;
mysql>其它操作

/*
如果想指定部分权限给一用户,可以这样来写:
mysql>grant select,update on phplampDB.* to 'phplamp'@'localhost' identified by '1234';
//刷新系统权限表。
mysql>flush privileges;
*/

3.删除用户。
@>mysql -u root -p
@>密码
mysql>DELETE FROM user WHERE User="phplamp" and Host="localhost";
mysql>flush privileges;
//删除用户的数据库
mysql>drop database phplampDB;

4.修改指定用户密码。
@>mysql -u root -p
@>密码
mysql>update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";

mysql>flush privileges;

转自 http://www.cnblogs.com/analyzer/articles/1045072.html

<think> 首先,用户的问题是关于MySQL新建用户的方法。他们提供了几个引用,我需要参考这些引用,但也要基于我的知识创建完整的回答。 关键点: - 用户引用了四个引用:[^1], [^2], [^3], [^4]。 - 这些引用涉及MySQL创建用户的命令: - [^1]: 使用 `CREATE USER ... IDENTIFIED BY ...`。 - [^2]: 使用 `GRANT` 语句同时创建用户授权。 - [^3]: 类似使用 `GRANT` 语句。 - [^4]: 错误处理,如语法错误。 - 用户说:“上述引用仅供参考,并不是用户真正的需求”,所以我不能完全依赖引用;需要基于标准MySQL知识。 - 用户真正的需求是:“我想查找在MySQL新建用户的方法 请问MySQL创建用户的方法”。 系统指令: - 所有行内数学表达式用 `$...$`,但这里没有数学内容,所以不需要。 - 独立公式用 `$$...$$`,但这里可能不需要。 - LaTeX语法正确:确保代码块正确。 - 使用中文回答。 - 生成相关问题:在回答末尾添加相关问题。 - 引用段落末尾添加引用标识,如 [^1]。 回答结构: - 结构清晰,逐步解决问题。 - 真实可靠:基于MySQL知识。 - 参考引用:在适当的地方添加引用标识。 步骤: 1. 介绍MySQL创建用户的方法。 2. 详细解释两种主要方法: - 方法1:使用 `CREATE USER` 语句创建用户,然后授权。 - 方法2:使用 `GRANT` 语句直接创建用户授权。 3. 提供代码示例。 4. 解释常见错误和注意事项(基于引用[^4])。 5. 生成相关问题。 完整回答: - 用中文。 - 引用标识:当提到引用内容时,添加如 [^1]。 - 代码块使用LaTeX语法正确,但这里是SQL代码,所以用代码块。 生成相关问题: - 在最后添加。 大纲: 1. 开头:介绍MySQL创建用户的常用方法。 2. 方法1:使用 `CREATE USER` 语句。 - 语法:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授权:之后使用 `GRANT` 授予权限。 - 参考 [^1] 和 [^2]。 3. 方法2:使用 `GRANT` 语句直接创建。 - 语法:`GRANT privileges ON database.table TO 'username'@'host' IDENTIFIED BY 'password';` - 参考 [^2] 和 [^3]。 4. 注意事项: - 常见错误:如语法错误(IDENTIFIED BY 拼写错误),参考 [^4]。 - 主机指定:'localhost' 或 '%'。 - 权限管理。 5. 总结最佳实践。 6. 生成相关问题。 相关问题: - 参考系统指令的示例:快速排序相关问题。 - 基于主题:MySQL用户创建。 - 例如: 1. 如何修改MySQL用户密码? 2. MySQL用户权限有哪些类型? 3. 如何删除MySQL用户? </think> ### MySQL 创建用户的方法 在 MySQL 中,创建用户通常有两种常用方法:使用 `CREATE USER` 语句创建用户后再授权,或使用 `GRANT` 语句直接创建用户授权。下面我将逐步解释这两种方法,并提供详细的代码示例和注意事项。 #### 1. **使用 `CREATE USER` 语句创建用户后再授权** 这种方法先创建用户,然后单独授予权限。[^1] [^2] - **优点**:步骤清晰,适合初学者。 - **步骤**: 1. 连接到 MySQL 服务器(如使用命令行:`mysql -u root -p`)。 2. 执行 `CREATE USER` 语句创建用户: ```sql CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; ``` - `'newuser'`:用户名。 - `'localhost'`:指定用户可从本地访问(如远程访问用 `'%'`)。 - `'password'`:用户密码(确保密码安全)。 3. 使用 `GRANT` 语句授予权限: ```sql GRANT SELECT, INSERT ON database.* TO 'newuser'@'localhost'; ``` - `SELECT, INSERT`:授予的权限(如 `ALL PRIVILEGES` 表示所有权限)。 - `database.*`:指定数据库和表(如 `*.*` 表示所有数据库)。 4. 刷新权限使其生效: ```sql FLUSH PRIVILEGES; ``` - **示例**:创建一个名为 `testuser` 的用户密码为 `abc123`,并授予其对 `mydb` 数据库的所有权限。 ```sql CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'abc123'; GRANT ALL PRIVILEGES ON mydb.* TO 'testuser'@'localhost'; FLUSH PRIVILEGES; ``` #### 2. **使用 `GRANT` 语句直接创建用户授权** 这种方法在一条命令中完成创建授权,效率更高。[^2] [^3] - **优点**:简化流程,适合快速部署。 - **语法**: ```sql GRANT privileges ON database.table TO 'username'@'host' IDENTIFIED BY 'password'; ``` - **步骤**: 1. 连接到 MySQL 服务器。 2. 执行 `GRANT` 语句创建用户授权: ```sql GRANT SELECT, INSERT, UPDATE ON *.* TO 'wzg1'@'localhost' IDENTIFIED BY 'qasky1234'; ``` - 这会同时创建用户 `wzg1`(如果不存在)。 3. 刷新权限:`FLUSH PRIVILEGES;` - **示例**:创建一个用户 `admin`,密码为 `securePass`,可从任意主机访问,并授予所有权限。 ```sql GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'securePass'; FLUSH PRIVILEGES; ``` #### 常见错误和注意事项 - **语法错误**:如拼写错误(如将 `IDENTIFIED` 拼为 `indentified`),会导致错误 `ERROR 1064 (42000)`。[^4] 确保命令准确。 - **主机指定**: - `'localhost'`:仅限本地访问。 - `'%'`:允许远程访问。 - **权限管理**: - 使用 `REVOKE` 撤销权限。 - 创建后使用 `SELECT user FROM mysql.user;` 验证用户。 - **安全建议**: - 避免使用 root 账户创建用户。 - 授予最小必要权限(如只读权限)。 - MySQL 8.0+ 版本中,`GRANT` 创建用户的语法已弃用,优先使用 `CREATE USER`。 #### 总结 两种方法均可创建用户:`CREATE USER` + `GRANT` 适合精细控制权限,`GRANT` 语句适合快速创建。实际使用时,请根据 MySQL 版本(如 MySQL 8.0 推荐 `CREATE USER`)和需求选择。确保刷新权限并测试连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值