本教程详细讲解了如何使用SQL语句在MySQL数据库中创建新的数据库和数据表,适合初学者快速上手。
### 创建MySQL数据库命令详解
本段落将详细介绍如何通过MySQL命令行来创建数据库、创建用户、赋予用户权限以及验证这些操作是否成功执行。对于希望使用MySQL作为其应用程序后端数据库的开发人员来说,了解这些步骤非常重要。
#### 一、创建数据库
**命令格式**:
```sql
CREATE DATABASE 数据库名;
```
- **语法说明**:
- `CREATE DATABASE`:用于创建一个新的数据库。
- `数据库名`:新创建的数据库名称。在MySQL中,数据库名通常由字母、数字或下划线组成,并且不区分大小写。
- 分号(`;`):每条SQL语句必须以分号结尾。
**示例**:
```sql
CREATE DATABASE dbnametest;
```
这条命令将创建一个名为`dbnametest`的新数据库。如果数据库已存在,则会提示错误。
**验证创建**:
可以使用`SHOW DATABASES;`命令来查看所有已存在的数据库,从而验证新数据库是否创建成功。
```sql
SHOW DATABASES;
```
如果在结果列表中看到了`dbnametest`,则说明数据库创建成功。
#### 二、创建用户并设置密码
**命令格式**:
```sql
CREATE USER 用户名@% IDENTIFIED BY 密码;
```
- **语法说明**:
- `用户名@%`:定义了新用户的用户名以及其访问权限。这里的`%`表示该用户可以从任何主机访问MySQL服务器。
- `IDENTIFIED BY 密码`:设置用户的登录密码。
**示例**:
```sql
CREATE USER dbusername@% IDENTIFIED BY dbpassword;
```
这条命令将创建一个名为`dbusername`的新用户,其密码为`dbpassword`。
#### 三、给用户和数据库赋权
**命令格式**:
1. **给用户进行授权**:
```sql
GRANT USAGE ON *.* TO 用户名@%;
```
2. **给数据库授权**:
```sql
GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@%;
```
- **语法说明**:
- `GRANT USAGE ON *.* TO 用户名@%`:这一步是授予用户对整个MySQL服务器的访问权限。
- `GRANT ALL PRIVILEGES ON 数据库名.* TO 用户名@%`:这一步是授予用户对特定数据库的所有权限,包括读取、写入等。
**示例**:
```sql
GRANT USAGE ON *.* TO dbusername@%;
GRANT ALL PRIVILEGES ON cloud_device_manage.* TO dbusername@%;
```
如果授权过程中遇到问题,可以在`GRANT`命令后加上`IDENTIFIED BY 用户密码`,以确保用户身份验证信息正确。
#### 四、切换用户验证
**命令流程**:
1. **退出当前用户**:
```sql
exit;
```
使用此命令可以退出当前的MySQL会话。
2. **使用新创建的用户登录**:
```sql
mysql -u 用户名 -p 密码;
```
输入用户名和密码后按回车即可完成登录。
3. **查看登录用户拥有的数据库**:
```sql
SHOW DATABASES;
```
**示例**:
假设我们已经创建了一个名为`kdall`的数据库,并创建了一个名为`yijiyidang`的用户,现在来验证这个用户是否可以登录并且访问到`kdall`数据库。
1. **退出 root 用户**:
```sql
exit;
```
2. **用新用户登录**:
```sql
mysql -u yijiyidang -p dbpassword;
```
3. **查看登录用户拥有的数据库**:
```sql
SHOW DATABASES;
```
如果在显示的结果中可以看到`kdall`数据库,则说明用户`yijiyidang`具有访问该数据库的权限。
以上就是关于MySQL中创建数据库、用户以及授权的基本操作,掌握这些基本命令可以帮助您更好地管理和维护您的数据库系统。