10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 本手册下载 从本手册中摘录

2.10.4保护MySQL初始帐号

MySQL安装过程包括初始化数据目录,包括mysql定义MySQL帐户的系统模式。有关详细信息,请参阅第2.10.1节“初始化数据目录”

本节介绍如何将密码分配给初始如果您尚未这样做,请在MySQL安装过程中创建的帐户。

请注意

执行本节所述过程的可选方法:

在这些情况下,可能已经将密码分配给初始账户:

  • 在Windows上,使用MySQL Installer执行的安装可以选择分配密码。

  • 使用macOS安装程序进行安装将生成一个初始随机密码,安装程序将在一个对话框中向用户显示该密码。

  • 使用RPM包安装会生成一个初始随机密码,并写入服务器错误日志。

  • 使用Debian软件包的安装为您提供了分配密码的选项。

  • 用于手动执行的数据目录初始化mysqld——初始化mysqld生成初始随机密码,标记它已过期,并将其写入服务器错误日志。看第2.10.1节“初始化数据目录”

mysql.usergrant表定义了初始MySQL用户帐户及其访问权限。MySQL的安装只创建一个“根”@“localhost”超级用户帐户,拥有所有特权,可以做任何事。如果帐户有一个空密码,您的MySQL安装未受保护:任何人都可以连接到MySQL服务器没有密码并被授予所有特权。

“根”@“localhost”帐户也有一排mysql.proxies_priv允许授予代理特权“@”,即所有用户和所有主机。这使得能够要设置代理用户,并委托给其他帐户设置代理用户的权限。看第6.2.18节,“代理用户”

为初始MySQL分配密码帐户,使用以下过程。代替根密码在您想要使用的密码示例中。

如果未运行,请启动服务器。有关说明,请参阅第2.10.2节“启动服务器”

最初的帐户可能有,也可能没有密码。选择下列任何一种程序:

  • 如果帐户存在于已过期的初始随机密码,连接到服务器使用该密码,然后选择一个新密码。如果数据目录被初始化,就会出现这种情况mysqld——初始化,手动安装或使用安装程序,安装程序不提供在安装操作期间指定密码的选项。因为密码存在,所以必须使用它来连接服务器。但是由于密码过期,您不能将该帐户用于任何目的,除非您选择一个新密码。

    1. 如果您不知道初始随机密码,请查看服务器错误日志。

    2. 连接到服务器使用密码:

      mysql -u root -p输入密码(在这里输入随机的根密码)
    3. 选择新密码替换随机密码:

      MySQL> Alter's Root'@'localhost'识别'根密码”;
  • 如果帐户存在但没有密码,连接到服务器使用无密码,然后分配密码。如果您使用的数据目录初始化数据目录,就是这样的情况mysqld - italialize-insecure

    1. 连接到服务器使用无密码:

      Shell > mysql -u root——skip-password
    2. 分配一个密码:

      MySQL> Alter's Root'@'localhost'识别'根密码”;

在分配创建一个密码,无论何时使用该帐户连接到服务器,都必须提供该密码。例如,使用mysql客户端,使用此命令:

mysql -u root -p输入密码(在此处输入root密码)

以关闭服务器mysqladmin,使用以下命令:

shell> mysqladmin -u root -p shutdown输入密码:(在此处输入root密码)
请注意

有关设置密码的其他信息,请参见第6.2.14节“分配帐户密码”.如果你忘记了密码设置后请参见第b.3.3.2节“如何重置root密码”

若要建立其他帐户,请参阅第6.2.8节,“添加帐户、分配特权和删除帐户”