MYSQL安装完后设置密码失败,求助!!
发布网友
发布时间:2022-04-22 08:16
我来回答
共2个回答
热心网友
时间:2023-06-24 03:56
现象
一线的工程师反映了一个奇怪的现象,刚刚从 MySQL 官网上下载了一个 MySQL 5.7.31。安装完成后,发现使用任何密码都能登陆 MySQL,修改密码也不管用,重新启动 MySQL 也不能解决。
分析
怀疑使用了 --skip-grant-tables 使用 mysqld --print-defaults 检查,没有发现。
检查登陆用户,都是 root@localhost,说明和 proxy user 没有关系。
使用 mysql --print-defaults 检查客户端是否设置默认的用户和密码,没有发现。
检查数据库中的用户和密码的相关字段:
发现一切都正常,再检查 plugin 字段,发现只有 root 用户是 auth_socket ,其它的用户都是 mysql_native_password,问题可能就出在这儿。
对 auth_socket 验证插件不了解,感觉是这个插件不安全,使用下面的命令修改后,问题解决:
update user set plugin="mysql_native_password" where user='root';
auth_socket 验证插件的使用场景
问题解决后,又仔细研究了一下 auth_socket 这个插件,发现这种验证方式有以下特点:
首先,这种验证方式不要求输入密码,即使输入了密码也不验证。这个特点让很多人觉得很不安全,实际仔细研究一下这种方式,发现还是相当安全的,因为它有另外两个*;
只能用 UNIX 的 socket 方式登陆,这就保证了只能本地登陆,用户在使用这种登陆方式时已经通过了操作系统的安全验证;
操作系统的用户和 MySQL 数据库的用户名必须一致,例如你要登陆MySQL 的 root 用户,必须用操作系统的 root用户登陆。
auth_socket 这个插件因为有这些特点,它很适合我们在系统投产前进行安装调试的时候使用,而且也有相当的安全性,因为系统投产前通常经常同时使用操作系统的 root 用户和 MySQL 的 root 用户。当我们在系统投产后,操作系统的 root 用户和 MySQL 的 root 用户就不能随便使用了,这时可以换成其它的验证方式,可以使用下面的命令进行切换:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'test';
热心网友
时间:2023-06-24 03:56
string
url="jdbc:mysql;//localhost:3306/jdbc";
其中分号改冒号就ok
MySQL数据库修改密码失败怎么办mysql不给修改密码
在有些情况下,数据库的配置可能会导致修改密码失败,例如密码规则修改、安全配置等。解决方法:检查数据库的配置项,查看是否有相关配置项导致修改密码失败。示例代码:检查密码规则:SHOW VARIABLES LIKE ‘validate_password%’;禁用密码规则:SET GLOBAL validate_password_policy=LOW;5. 数据...
刚刚安装的mysql数据库给设置密码时报错,求解
检查登陆用户,都是 root@localhost,说明和 proxy user 没有关系。使用 mysql --print-defaults 检查客户端是否设置默认的用户和密码,没有发现。检查数据库中的用户和密码的相关字段:发现一切都正常,再检查 plugin 字段,发现只有 root 用户是 auth_socket ,其它的用户都是 mysql_native_password,...
mysql中设置密码,怎么报错了?
可能你的系统没有 safe_mysqld 程序(Windows 或 Ubuntu操作系统) ,可以使用 mysqld:mysqld --skip-grant-tables & 3、启动后, root 用户以空密码登录 mysql:mysql -u rootmysql> update mysql.user set password=PASSWORD('123456') where User='root'; # 修改...
设置MySQL密码的步骤指南怎样给mysql设置密码
第一步,打开命令提示符窗口。若是本地已安装MySQL,可以在 Windows 操作系统的开始菜单中,点击“运行”输入cmd,进入命令行窗口,输入 mysql -u root -p( 会提示输入 root 用户的密码);若是远程服务器安装了MySQL,可以使用XShell或者TeraTerm等远程登录客户端连接至服务器,然后输入 mysql -u ro...
MySQL登录问题输完密码后自动退出mysql一输密码就退了
出现该问题的原因是连接MySQL时密码验证失败。当连接MySQL时未正确设置密码或修改密码后,连接网站时可能会出现输完密码后自动退出的问题。为了解决这个问题,需要检查数据库和连接的用户名和密码是否正确。还需要检查数据库是否已正确地安装和配置。以下是可能导致MySQL登录问题的一些原因:1.用户名或密码错误...
为什么mysql安装上了之后,输入密码 进不去啊?而输入空的密码才能进去...
密码是申请连接数据库的密码,mysql安装默认密码为空的 连接数据库参数是:用户名、密码、登录地址、端口号,连接数据库服务器成功后,选中数据库操作
MySQL安装后不自动生成临时密码的解决方法mysql不生成临时密码_百度...
1.找到MySQL的安装目录,进入bin文件夹,打开命令提示符窗口。2.输入以下命令:mysqld –initialize –console。这将初始化MySQL并生成一个临时密码。3.在命令提示符窗口中,您将看到类似于以下内容的输出:C:\Program Files\MySQL\MySQL Server 8.0\bin>mysqld –initialize –...
MySQL 5.7.4 安装结束时出错,提示我密码过期
那个错误完全可以不必管她,这个是在你前面的都已经安装好的情况下,现在你可以通过Command Line Client登录了,此时的密码为空,你只要修改下密码就可以了,然后就可以通过workbench登录了。不知道这个算不算解决方案,望采纳。
mysql数据库密码怎么设置
MySQL数据库密码设置步骤:1. 登录MySQL数据库。2. 选择或创建一个数据库用户。3. 为所选用户设置密码。详细解释:1. 登录MySQL数据库:要设置MySQL数据库的密码,首先你需要登录到MySQL服务器。你可以通过命令行工具进行登录。登录时可能需要提供当前的用户名以及对应的密码。2. 选择或创建一个数据库...
mysql 安装密码为空怎么解决
安装之后root用户默认没有密码,通过命令设置密码。[root@bogon desktop]# /usr/bin/mysqladmin -u root password 'passok'然后设置root用户的远程访问权限 在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION;FLUSH PRIVILEGES;