MySQL添加新账号、创建数据库、为新用户分配权限

本文介绍如何在MySQL中创建新用户账号并进行权限配置。包括登录MySQL、创建新用户、刷新授权、创建数据库、给账号赋权及验证权限等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 终端登录mysql
[root@VM-0-10-centos ~]# mysql -u root -p
Enter password:
  • 创建新用户

        允许外网IP访问数据库,‘%’表示外网IP可访问,如果想限制只能本地IP访问,可以将'%'替换为'localhost','mango'表示账号,'xxxxxx'代表密码。

mysql> create user 'mango'@'%' identified by 'xxxxxx';
  • 刷新授权

        账号创建完成后,刷新授权

mysql> flush privileges;
  • 创建数据库

        创建一个新的数据库,并使用show databases命令查看数据库是否创建OK

mysql> create database mangodb DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


mysql> show databases;
  • 把新账号赋权给新数据库

        将账号'mango'赋权给数据库'mangodb',并刷新授权。

# mysql5.7
mysql> grant all privileges on `mangodb`.* to 'mango'@'%' identified by 'xxxxxx' with grant option;

# mysql8
mysql> grant all privileges on `mangodb`.* to 'mango'@'%' with grant option;

mysql> flush privileges;
  • 新账号登录

        退出 root账号,使用mango账号重新登录,并使用show databases命令查看数据库赋权是否正常。

[root@VM-0-10-centos ~]# mysql -u mango -p
Enter password: 

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mangodb              |
+--------------------+
2 rows in set (0.03 sec)

至此,完成mysql新建账号并授权数据库。

<think>我们正在使用root账号登录MySQL数据库创建新用户。根据引用内容,以下是步骤: 1. 使用root账号连接到MySQL服务器。 2. 使用CREATE USER语句创建新用户。 3. 可选:使用GRANT语句为新用户分配权限。 4. 刷权限。 5. 退出。 具体步骤如下: ### 步骤1:使用root账号登录MySQL 在命令行中使用以下命令(假设你已经在安装了MySQL的环境中): ```bash mysql -u root -p ``` 然后输入root用户的密码。 ### 步骤2:创建新用户MySQL提示符下,使用`CREATE USER`语句创建新用户。语法如下: ```sql CREATE USER 'new_user'@'host' IDENTIFIED BY 'password'; ``` - `new_user`:新用户名。 - `host`:允许连接的主机。如果只允许本地连接,使用`localhost`;如果允许任意主机,使用`%`。 - `password`:设置该用户的密码。 例如,创建一个用户名为`test_user`,密码为`test_password`,且只允许从本地连接的用户: ```sql CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password'; ``` ### 步骤3:为新用户分配权限(可选) 创建用户后,通常需要分配权限。例如,授予新用户对某个数据库的全部权限: ```sql GRANT ALL PRIVILEGES ON database_name.* TO 'test_user'@'localhost'; ``` 其中`database_name`是数据库名。如果想授予所有数据库权限(谨慎使用),可以使用`*.*`。 如果只想授予特定权限,比如SELECT、INSERT、UPDATE等,可以这样写: ```sql GRANT SELECT, INSERT ON database_name.* TO 'test_user'@'localhost'; ``` ### 步骤4:刷权限 执行`FLUSH PRIVILEGES`命令使权限立即生效: ```sql FLUSH PRIVILEGES; ``` ### 步骤5:退出MySQL ```sql EXIT; ``` ### 示例 假设我们要创建用户`john`,密码为`john123`,允许从任意主机连接,并授予他对数据库`mydb`的所有权限: ```sql -- 登录MySQL后执行 CREATE USER 'john'@'%' IDENTIFIED BY 'john123'; GRANT ALL PRIVILEGES ON mydb.* TO 'john'@'%'; FLUSH PRIVILEGES; EXIT; ``` 注意:允许从任意主机连接(使用`%`)可能会带来安全风险,请根据实际需求设置。 ### 验证 创建后,可以使用新用户登录进行验证: ```bash mysql -u john -p ``` ### 注意事项 1. 在创建用户时,确保密码强度足够。 2. 遵循最小权限原则,只授予必要的权限。 3. 如果用户不需要远程连接,尽量使用`localhost`。 §§相关问题§§ 1. 如何修改MySQL用户的密码? 2. 如何撤销MySQL用户的权限? 3. 如何删除MySQL中的用户? 4. 如何查看MySQL用户的权限?</think>### 使用root账号MySQL创建新用户的步骤 #### 1. **使用root账号登录MySQL** 在终端执行以下命令(输入root密码): ```bash mysql -u root -p ``` ```sql -- 登录后显示MySQL提示符: mysql> ``` #### 2. **创建新用户** 使用`CREATE USER`命令创建用户(替换`new_user`和`password`): ```sql CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password'; ``` - 📌 `localhost`:仅限本地访问 - 🌐 允许远程访问时用`'%'`:`'new_user'@'%'` - 🔒 密码需符合安全策略(MySQL 8.0+需强密码) #### 3. **分配权限(可选但推荐)** 使用`GRANT`授权(示例授予所有数据库权限): ```sql GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost'; ``` - 按需调整权限: ```sql GRANT SELECT, INSERT ON your_db.* TO 'new_user'@'localhost'; -- 仅授予特定权限 ``` #### 4. **刷权限** 使权限立即生效: ```sql FLUSH PRIVILEGES; ``` #### 5. **退出MySQL** ```sql EXIT; ``` ### 完整操作示例 ```sql -- 登录 mysql -u root -p -- 创建用户 CREATE USER 'dev_user'@'localhost' IDENTIFIED BY 'SecurePass123!'; -- 授权(授予mydb数据库所有权限) GRANT ALL PRIVILEGES ON mydb.* TO 'dev_user'@'localhost'; -- 刷权限 FLUSH PRIVILEGES; -- 退出 EXIT; ``` ### ⚠️ 安全提示 1. **避免使用`GRANT ALL ON *.*`**:除非必要,否则限制为特定数据库[^4] 2. **远程访问限制**:生产环境慎用`'user'@'%'`,建议指定IP段 3. **密码强度**:MySQL 8.0+默认需包含大小写字母、数字和特殊字符 4. **权限最小化原则**:仅授予必要权限(如只读账号用`GRANT SELECT`)[^1] > 测试新用户登录:`mysql -u dev_user -p`,输入密码后执行`SHOW DATABASES;`验证权限[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值