关于如何在MySQL上创建用户的快速分步指南
安装MySQL之后,您将拥有root
用户可用。
这是您可能用来尝试查看MySQL是否正常工作的用户,但不应该是其他用途的用户。
为什么?因为它是太强大了。
强大的力量带来巨大的责任(蜘蛛侠的叔叔说)。尤其是如果您犯了错误,将会带来极大的危险。
相反,您应该创建临时用户,这些用户仅具有执行其工作的权限,而没有其他权限。与使用Linux或任何Unix系统相同,例如:您不想使用root
用户,但您拥有自己的用户帐户。
要创建新用户,请使用root
用户:
mysql -u root -p
然后使用命令
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
例如,创建一个名为test_user
带密码test_password12A
运行命令:
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';
该命令应返回一行Query OK, 0 rows affected (X.XX sec)
:
如果您使用了无效的密码,系统会告诉您以下内容ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
。在这种情况下,错误表明密码不够复杂,因为安装MySQL时,我告诉它对密码使用某种策略。
那太棒了!现在已经创建了用户,我们可以使用该用户连接到MySQL。在命令行中,您可以通过键入以下内容退出QUIT
,然后输入:
mysql -u test_user -p
现在,如果我尝试创建数据库,则会收到一条错误消息:ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing'
:
为什么?因为用户没有创建新数据库的权限。
我们将在另一个教程中了解如何使用权限。
值得一提的是@'localhost'
我们用来创建用户的字符串。这告诉MySQL用户只能从本地主机连接。当进行测试时,以及将要连接到MySQL的任何应用程序在运行DBMS的同一台计算机上运行时,这很好。
如果不正确,则您需要手动输入用户将要连接的IP,或者使用%
通配符:
CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';
我想通过显示如何删除我们创建的用户来结束本教程:
DROP USER 'test_user'@'localhost';
更多数据库教程:
- MongoDB基础教程
- MongoDB与SQL数据库有何不同
- 信息系统,数据和信息
- 资料模型
- ER数据模型简介
- 关系模型
- 关系代数
- 关系数据库
- 什么是数据库?还有一个DBMS?
- SQL简介
- 如何在macOS上安装PostgreSQL
- 您是否始终需要为应用程序提供数据库?
- 如何在macOS上安装SQLite
- PostgreSQL简介
- PostgreSQL用户权限
- 如何列出PostgreSQL中的所有用户
- 如何使用PostgreSQL切换数据库
- 如何使用PostgreSQL列出所有数据库
- 如何使用PostgreSQL列出当前数据库中的表
- 如何在macOS上安装MySQL
- 在MySQL上创建用户
- PostgreSQL vs MySQL,比较
- SQLite用户权限
- MySQL用户权限
- SQL,创建表
- SQL,将数据添加到表
- SQL,如何使用SELECT
- SQL,处理空单元格
- SQL,唯一键和主键
- SQL,如何更新数据
- SQL,如何更新表结构
- SQL,如何删除数据和表
- SQL联接
- SQL视图
- 如何在MongoDB集合中一次插入多个项目
- 如何从MongoDB集合中删除所有项目