IT评测·应用市场-qidao123.com

标题: MYSQL怎样重置root暗码 [打印本页]

作者: 水军大提督    时间: 2025-1-2 02:44
标题: MYSQL怎样重置root暗码
如果您从未为MySQL分配root暗码,则服务器根本不需要以root身份连接的暗码。但是,这是不安全的。建议肯定要设置root暗码。
如果您知道root暗码并想要更改它,保举使用ALTER USER user IDENTIFIED BY 'auth_string';
如果您之前分配了root暗码但忘记了,您可以分配一个新暗码。以下部分提供了实用于Windows、Unix和类Unix系统的阐明,以及实用于任何系统的通用阐明。
第一、重置root暗码:Windows系统

在Windows上,使用以下步调重置MySQL'root'@'localhost'帐户的暗码。要更改具有差别主机名部分的root帐户的暗码,请在下面的步调上把localhost修改为您的主机名。
         要使服务器输出显示在控制台窗口而不是日志文件中,请将--console选项添加到mysqld命令中。 如果使用MySQL安装领导安装MySQL,则可能需要指定--defaults-file
--defaults-file选项。例如:
  1. C:\> mysqld
  2.          --defaults-file="C:\\ProgramData\\MySQL\\MySQL Server 8.4\\my.ini"
  3.          --init-file=C:\\mysql-init.txt
复制代码
  1.      可以使用服务管理器找到适当的--defaults-file设置:从开始菜单中,选择控制面板,然后选择管理工具,然后选择服务。在列表中找到MySQL服务,右键单击它,然后选择Properties选项。Path to executable字段包含--defaults-file设置。
复制代码
     7.服务器启动成功后,删除C:\mysql-init.txt。
您现在应该可以或许使用新暗码以root身份连接到MySQL服务器。停止MySQL服务器并正常重新启动它。如果您将服务器作为服务运行,请从Windows服务窗口启动它。如果您手动启动服务器,请使用您通常使用的任何命令。

第二、重置root暗码:Unix和类Unix系统

在Unix上,使用以下步调重置MySQL'root'@'localhost'帐户的暗码。要更改具有差别主机名部分的root帐户的暗码,请在下面的步调上把localhost修改为您的主机名。
这些阐明假定您从通常用于运行MySQL服务器的Unix登录帐户启动服务器。例如,如果您使用mysql登录帐户运行服务器,您应该在使用阐明之前以mysql身份登录。或者,您可以以root身份登录,但在这种情况下,您必须使用--user=mysql选项启动mysqld。如果您以root身份启动服务器而不使用--user=mysql,服务器可能会在数据目录中创建root所有的文件,例如日志文件,这些可能会导致将来服务器启动的权限相关题目。如果发生这种情况,您必须将文件的所有权更改为mysql或删除它们。
1、以MySQL服务器运行的Unix用户身份登录系统(例如,mysql)。
2、如果MySQL服务器正在运行,则停止它。找到包罗服务器进程ID的.pid文件。该文件的确切位置和名称取决于您的发行版本、主机名和设置。常见位置是/var/lib/mysql/、/var/run/mysqld/和/usr/local/mysql/data/。通常,文件名的扩展名为.pid,并以mysqld或您系统的主机名开头。
通过向mysqld进程发送正常的kill(不是kill -9)来停止MySQL服务器。在以下命令中修改为您的.pid文件的实际路径名:
  
  1. $> kill `cat /mysql-data-directory/host_name.pid`
复制代码
3、在一行中创建一个包罗暗码分配语句的文本文件。将暗码替换为您要使用的暗码。
  1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
复制代码

4、保存文件。此示例假定您将文件命名为/home/me/mysql-init。该文件包罗暗码,因此不要将其保存在其他用户可以读取的地方。如果您未以mysql(服务器运行时的用户)身份登录,请确保该文件具有允许mysql读取它的权限。
5、使用init_file系统变量启动MySQL服务器:
  1. $> mysqld --init-file=/home/me/mysql-init &
复制代码
服务器在启动时实行由init_file系统变量命名的文件的内容,更改'root'@'localhost'帐户暗码。
根据您通常启动服务器的方式,可能还需要其他选项。例如,init_file参数之前可能需要--defaults-file。
6、服务器启动成功后,删除/home/me/mysql-init。
您现在应该可以或许使用新暗码以root身份连接到MySQL服务器。停止服务器并正常重新启动它。

第三、重置root暗码:通用阐明

前面的部分提供了专门针对Windows、Unix和类Unix系统的暗码重置阐明。或者,在任何平台上,您都可以使用mysql客户端重置暗码(但这种方法不太安全):
1、如有必要,停止MySQL服务器,然后使用--skip-grant-tables选项重新启动它。这使任何人都可以在没有暗码的情况下以所有权限举行连接,并禁用帐户管理语句,例如ALTER USER和SET PASSWORD。由于这是不安全的,如果服务器使用--skip-grant-tables选项启动,它还会通过启用skip_networking来禁用远程连接。在Windows平台上,这意味着您还必须启用shared_memory或named_pipe;否则服务器无法启动。
2、使用mysql客户端连接到MySQL服务器;不需要暗码,由于服务器是使用--skip-grant-tables启动的:
  1. $> mysql
复制代码
3、在mysql客户端中,告诉服务器重新加载授权表,以便帐户管理语句工作:
  1. mysql> FLUSH PRIVILEGES;
复制代码
然后更改'root'@'localhost'帐户暗码。将暗码替换为要使用的暗码。要更改具有差别主机名部分的root帐户的暗码,请修改localhost以使用您的主机名。
  1. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
复制代码
您现在应该可以或许使用新暗码以root身份连接到MySQL服务器。停止服务器并正常重新启动它(留意不再设置--skip-grant-tables选项,也没有启用skip_networking系统变量)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4