MySQL8.0 创建用户、配置用户权限、添加外网访问

MySQL8.0 创建用户、配置用户权限、添加外网访问

在这里插入图片描述

添加用户、外网访问

在MySQL 8.0中,root用户的外网访问权限默认是被禁止的。要修改root用户的外网访问权限,您需要进行以下步骤:

  1. 连接到MySQL服务器。您可以使用MySQL命令行客户端或其他数据库管理工具。

  2. 使用以下命令以root身份登录MySQL:

sudo mysql -u root -p

然后输入您的root用户密码。

  1. 输入以下命令以修改root用户的外网访问权限:
    在这里插入图片描述
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '您的密码';
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '您的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

请将 '您的密码' 替换为您要设置的root用户密码。

  1. 需要编辑MySQL配置文件以允许远程访问。找到并打开MySQL配置文件(通常在/etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf)。

  2. 在配置文件中找到bind-address行,并将其注释或更改为以下内容:

# bind-address = 127.0.0.1

这将允许MySQL接受来自所有IP地址的连接。

  1. 保存并关闭配置文件。

  2. 重新启动MySQL服务,使更改生效。使用适合您的操作系统的命令:

sudo service mysql restart

sudo systemctl restart mysql

现在,root用户应该具有外网访问权限。请注意,出于安全考虑,授予root用户远程访问权限可能会有风险。出于安全原因,建议使用具有更严格访问权限的用户,并限制远程访问仅限于需要的IP地址。

修改用户DDL、DML权限

要修改MySQL 8.0中的DDL(数据定义语言)和DML(数据操作语言)权限,您可以按照以下步骤进行操作:

步骤1:使用root用户登录MySQL

在命令行终端中,使用root用户登录MySQL服务器。执行以下命令:

mysql -u root -p

输入root用户的密码,然后按下回车键登录到MySQL。

步骤2:查看当前用户权限

查看当前用户的权限,可以使用以下命令:

SHOW GRANTS FOR '<your_username>'; 

<your_username>替换为您要修改权限的用户名。

步骤3:修改DDL权限

a. 修改已存在用户的DDL权限:

在上一步中,您可以看到显示了当前用户的权限信息。查找到以GRANT ALTER, CREATE, DROP, INDEX, …开头的权限语句,这些权限允许用户进行DDL操作。如果希望取消某个DDL权限,可以使用以下示例命令:

REVOKE DROP ON your_database_name.* FROM '<your_username>';

your_database_name替换为您要更改权限的数据库名称,将<your_username>替换为要修改权限的用户名。

b. 修改新建用户的DDL权限:

如果要为新建用户设置默认的DDL权限,可以使用以下命令:

CREATE USER 'your_username'@'localhost';
GRANT CREATE, ALTER, DROP, INDEX,ON your_database_name.* TO 'your_username'@'localhost';

your_usernameyour_database_name替换为适当的值,并根据需要添加其他DDL权限。

步骤4:修改DML权限

要修改DML权限,您可以按照步骤3的示例将DDL替换为DML。例如,如果要授予或撤销INSERT权限,可以使用以下命令:

授予INSERT权限:

GRANT INSERT ON your_database_name.* TO 'your_username'@'localhost';

撤销INSERT权限:

REVOKE INSERT ON your_database_name.* FROM 'your_username'@'localhost';

根据您的需求,调整语句中的数据库、用户名和权限。

步骤5:刷新权限

当您完成对权限的修改后,必须刷新MySQL的权限缓存,以使更改生效。使用以下命令:

FLUSH PRIVILEGES;

这将刷新权限并使修改后的权限立即生效。

步骤6:退出MySQL

完成所有权限修改后,可以使用以下命令退出MySQL:

EXIT;

这将退出MySQL命令行终端。

通过按照上述步骤,您可以在MySQL 8.0中修改DDL和DML权限。请注意,修改权限可能会对数据库的安全性和数据完整性产生影响,请谨慎操作。

DDL、DML权限列表

以下是MySQL中的常见DDL和DML权限列表:

DDL权限(数据定义语言):

  • CREATE:创建新数据库、表、视图、函数、存储过程等。
  • ALTER:修改数据库结构,如更改表的结构(添加/删除列)、修改列的属性等。
  • DROP:删除数据库、表、视图、函数、存储过程等。
  • INDEX:创建、修改或删除索引。
  • TRIGGER:创建、修改或删除触发器。
  • VIEW:创建、修改或删除视图。
  • SHOW VIEW:查看视图的定义信息。
  • GRANT OPTION:授予其他用户权限。

DML权限(数据操作语言):

  • SELECT:从表中检索数据。
  • INSERT:向表中插入新的行。
  • UPDATE:更新表中已有的行。
  • DELETE:从表中删除数据。
  • EXECUTE:执行存储过程或函数。

这些权限可以单独授予或撤销给特定的用户或用户组。请注意,在实际使用中,根据具体需要,可以进一步细分DDL和DML权限。

猜你喜欢

转载自blog.csdn.net/weixin_45626288/article/details/131552840