在MySQL上创建用户

关于如何在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';

更多数据库教程: