转原文:https://tableplus.com/blog/2018/10/how-to-create-a-superuser-in-mysql.html
感谢阿泽同学帮助
如何在MySQL中创建超级用户?
十月25,2018
本指南将引导您完成在MySQL中创建新用户并使其成为具有root用户访问数据库权限的超级用户的步骤。
1.首先,您必须使用具有CREATE USER特权的root用户登录。
运行以下命令以使用密码创建新用户:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'the_password';
此时,新用户对数据库没有权限。接下来要做的就是向新用户授予特权。用户可以拥有几种特权:
ALL PRIVILEGES-对数据库的完全root访问。如果未指定数据库,则它具有整个系统的全局访问权限。
创建-创建新表或数据库
DROP-删除表或数据库
删除-从表中删除行
插入-将行插入表中
SELECT-使用SELECT命令读取数据库
UPDATE-更新表行
授予选项-授予或删除其他用户的特权
2.使其成为超级用户
为了使这个新用户成为超级用户,我们必须为其提供对数据库中所有内容的完全root访问权限,这意味着要授予所有特权:
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'localhost' WITH GRANT OPTION;
完成后,新用户现在具有类似root的权限。
3.然后使用相同的新用户名创建另一个帐户
CREATE USER 'username'@'%' IDENTIFIED BY 'the_password';
并授予完全root访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
这两个'username'@'localhost'和'username'@'%'是超级用户账户,具有完全的权限做任何事情。
'username'@'localhost'仅当从本地主机连接时才能使用该 帐户。该 'username'@'%' 帐户将 '%' 通配符用于主机部分,因此可用于从任何主机进行连接。
4.要仔细检查赋予新用户的特权,请运行SHOW GRANTS命令:
SHOW GRANTS FOR username;
5.最后,当一切都解决后,重新加载所有特权:
FLUSH PRIVILEGES;
并且所有更改将立即生效。