mysql 是不是要创建一个用户 然后给这个用户远程权限 操作msg数据库 而不是给root用户远程权限?

在MySQL中,通常建议不要直接使用root用户来进行远程连接和操作数据库,因为root用户拥有最高权限,这可能会带来安全风险。相反,建议按照以下步骤创建一个新用户,并为该用户分配适当的权限来远程操作特定的数据库(例如msg数据库):

  1. 以root身份登录MySQL服务器。
mysql -u root -p
  1. 创建一个新用户,可以使用以下命令:sqlCopy

CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';

在上述命令中:

  • 'your_username' 是你要创建的新用户的用户名。
  • '%' 表示允许该用户从任何主机远程连接。如果你只想允许特定IP地址的远程连接,可以将 '%' 替换为具体的IP地址或主机名。
  • 'your_password' 是你为新用户设置的密码。
  1. 授予新用户访问msg数据库的权限。你可以使用以下命令为新用户授予权限:sqlCopy
GRANT ALL PRIVILEGES ON msg.* TO 'your_username'@'%';

上述命令中:

  • 'ALL PRIVILEGES' 表示赋予用户对msg数据库的全部权限。如果你只需要赋予部分权限,可以将其替换为具体的权限列表,例如SELECT、INSERT、UPDATE等。
  • 'msg.' 表示允许用户访问msg数据库中的所有表。如果你只想允许用户访问特定的表,可以将 '' 替换为表名。
  1. 刷新权限以使更改生效:sqlCopy
FLUSH PRIVILEGES;

现在,你已经创建了一个新用户,并为其分配了远程访问msg数据库的权限。这样,你可以使用新用户的凭据来远程连接到MySQL服务器并操作msg数据库,而不必使用root用户来进行操作,从而提高了安全性。确保在设置密码时使用强密码,并仔细管理用户的权限以确保安全性。

要删除MySQL中用户名为 "your_name" 的用户,你可以使用以下SQL语句:

sqlCopy

DELETE FROM mysql.user WHERE User = 'your_name'; FLUSH PRIVILEGES;

这个SQL语句会从MySQL的用户表中删除用户名为 "your_name" 的用户记录,并通过 FLUSH PRIVILEGES; 来刷新权限,以确保修改立即生效。请确保你具有足够的权限来执行这个操作,通常需要具有超级用户或管理员权限。

另外,请注意,删除用户会删除与该用户相关联的权限和对象,包括数据库和表。所以在删除用户之前,确保你已经备份了必要的数据或者做好了相关的数据迁移工作。删除用户是一个潜在的危险操作,需要谨慎执行。

要修改MySQL用户A的密码,你可以使用MySQL的SET PASSWORD语句或ALTER USER语句,前提是你必须具有足够的权限来执行这些操作。以下是两种方法的示例:

方法一:使用SET PASSWORD语句

sqlCopy

SET PASSWORD FOR 'A'@'localhost' = PASSWORD('新密码');

上面的命令将用户A的密码设置为新密码。请将'localhost'替换为用户A的主机名,如果要允许从任何主机连接,请使用'%'代替'localhost'。将'新密码'替换为用户A的新密码。

方法二:使用ALTER USER语句(适用于MySQL 5.7及更高版本)

如果你使用的是MySQL 5.7或更新版本,你也可以使用ALTER USER语句来修改用户密码:

sqlCopy
ALTER USER 'A'@'localhost' IDENTIFIED BY '新密码';

同样,将'localhost'替换为用户A的主机名或'%'以允许从任何主机连接,并将'新密码'替换为用户A的新密码。

无论使用哪种方法,确保你有足够的权限来执行这些操作,通常需要UPDATEALTER权限以及对mysql.user表的访问权限。

查看端口号

SHOW VARIABLES LIKE 'port';

mysql远程设置 完整逻辑:

centos7.6 yum 安装mysql_centos7.6 yum安装mysql_tenc1239的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/tenc1239/article/details/133210607