MySQL临时密码不能用,自动生成临时密码后无法访问MySQL
自动生成临时密码后无法访问MySQL
我已经删除并安装了OSX 10.11 El Capitan并且我一直在通过本教程学习如何在新的OS X上运行MySQL 。第一步是下载MySQL For Mac OS X 10.9(x86,64位),DMG归档 (10.11版本,他们在教程中推荐)。 当我完成MySQL的安装时,我收到了这样的消息:
2015-10-25T02:10:54.549219Z 1 [Note] A temporary password is generated for root@localhost: R>gFySuiu23U If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.
这很奇怪,我从来没有见过这样的信息。 之后,我通过Preference Pane启动MySQL,然后在terminal上使用/usr/local/mysql/bin/mysql -v命令进行另一步。 我收到一条错误消息,说:
ERROR 1045 (28000): Access denied for user 'cheetah'@'localhost' (using password: NO)
我也尝试通过Sequel Pro使用root作为用户名和空密码访问数据库,我得到了访问被拒绝的消息,说:
Unable to connect to host 127.0.0.1 because access was denied. Double-check your username and password and ensure that access from your current location is permitted. MySQL said: Access denied for user 'root'@'localhost' (using password: NO)
好的,我也使用root作为用户名,但是使用了'R> gFySuiu23U'作为密码(它是从MySQL生成的)。 我有连接失败的消息说:
Unable to connect to host 127.0.0.1, or the request timed out. Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds). MySQL said: Your password has expired. To log in you must change it using a client that supports expired passwords.
我怎么能解决这个问题? 我记得MySQL从来没有自动生成这样的临时密码,不是吗?
尝试这个:
mysql -u root -h 127.0.0.1 -p Enter password: (enter the random password here)
参考: https://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization-mysqld.html
在此之后,您可以使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-password';重置您的密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'new-password';
现在MySQL已经生成的密码已经过期,问题是减less到获得这个密码再次工作(1)或生成一个新的(2)。 这可以通过使用skip-grant-tables选项来运行MySQL来完成,这会使其忽略访问权限:
停止你的MySQL服务器。
在my.cnf文件的[mysqld]部分末尾添加skip-grant-tables并保存。
启动MySQL服务器。
在terminal中,input
mysql -u root -p
进入MySQL命令提示符。
在命令提示符下键入
USE mysql;
进入数据库用户的mysql数据库。
types
UPDATE user SET password_expired = 'N' WHERE User = 'root';
让MySQL知道密码没有过期(1)或
UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';
将新密码YourNewPassword分配给根(2)。
这是在OS X Yosemite上运行MySql v5.7(从.dmg安装)的工作原理。
cd /usr/local/mysql/bin mysql -u root -p --connect-expired-password
(input安装程序生成的临时密码。)
这使你进入沙盒模式和mysql>提示符。 然后用SET PASSWORD设置所需的root密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mySuperSecretPassword');
在OSX 10.11 El Capitan和MySQL 5.7.X下执行这些步骤,应该可以做到。
考虑到你已经安装MySQL然后..
打开terminal窗口并键入:
sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe –skip-grant-tables
由于在步骤2中触发的命令将处于持续状态,因此需要打开另一个terminal窗口,然后键入:
mysql -u root -p
UPDATE mysql.user SET password_expired ='N',authentication_string = PASSWORD('')WHERE User ='root';
放弃;
sudo /usr/local/mysql/support-files/mysql.server重新启动
重要提示 :在步骤2中,您必须更换密码。
希望它会为你起作用。
我正在运行macOS Sierra(10.12.3),我安装了mysql-5.7.17-macos10.12-x86_64.dmg。
@lesley的答案对我来说是个例外,我需要添加./以确保我在当前工作目录中调用了mysql二进制文件。 这是上述软件包的安装位置。
如果您cd到/usr/local/mysql/bin并运行mysql -u root -p --connect-expired-password ,则可能会收到以下错误消息。
mysql: unknown option '--connect-expired-password'
我做了。 因为只需运行mysql而不提供path,就称之为以前安装的MariaDB客户端版本。
所以要确保你正在执行正确的二进制文件,你也可以
提供绝对path
/usr/local/mysql/bin/mysql -u root -p --connect-expired-password
或改变目录后的相对path
cd /usr/local/mysql/bin ./mysql -u root -p --connect-expired-password
这两种方式应该工作。 一旦连接到客户端,指令与@lesley中的相同。
input安装程序生成的临时密码并设置新密码。
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourNewPassword');
MySQL密码已过期
重置密码将暂时解决问题,但是,从MySQL 5.7.4到5.7.10(我认为为了提高安全性), default_password_lifetimevariables的默认值是360(一年)。 对于这些版本,如果您不对此variables(或个人用户帐户)进行更改,则所有用户密码将在360天后过期。
通常情况下,您可能会从脚本中收到以下消息:“您的密码已过期。要login,您必须使用支持过期密码的客户端进行更改。
因此,要防止自动密码过期,请以root身份( mysql -u root -p )login,然后为自动连接到服务器的客户端 (例如脚本)更改这些客户端的密码到期设置:
ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER;
或者您可以禁用所有用户的自动密码过期:
SET GLOBAL default_password_lifetime = 0;
(资源库 www.zyku.net)
原文链接:https://blog.csdn.net/weixin_33609654/article/details/116113761
上一篇:MySQL配置不区分大小写方法
栏 目:MySQL
下一篇:解决You must reset your password using ALTER USER statement before executing this statement.错误
本文标题:MySQL临时密码不能用,自动生成临时密码后无法访问MySQL
本文地址:https://www.zyku.net/mysql/12050.html
您可能感兴趣的文章
- 01-11LOOX相机拍摄-LOOX相机拍摄应用软件功
- 02-13Python中的Nonetype类型怎么判断
- 01-13多格莎店智-多格莎店智应用软件功能介
- 11-14nginx设置目录浏览及中文乱码问题解决
- 12-28教育帮家长端-教育帮家长端应用软件功
- 01-12指令农场少儿编程-指令农场少儿编程应
- 08-19卡片日记备份设置教程介绍
- 07-15帝国cms 7.0返回首页带index.html的解
- 08-14苹果12如何设置锁屏密码
- 03-19红魔6显示电量百分比设置方法
- 01-11咖啡约车司机端-咖啡约车司机端应用软
- 11-20小雅智能音箱怎么绑定手机
- 09-26vivox70pro+在哪里更改字体大小
- 03-03WordPress制作CMS栏目块的方法
- 02-17华为mata40灭屏显示时间设置方法
- 01-12蒲公英企业版-蒲公英企业版应用软件功
- 12-16魅族16sPro应用自动更新在哪关闭
- 07-05Linux dumpkeys命令
- 01-11杰达拖车-杰达拖车应用软件功能介绍
- 03-08DedeCMS解决分页列表显示去掉li的方法

最近更新
阅读排行
猜你喜欢
- 11-07苹果13怎么设置色彩滤镜
- 11-10真我Q3s怎么双开应用
- 02-09opporeno5pro修改短信字体大小教程
- 01-10三星手机隐藏应用在哪里
- 03-09鸿蒙系统语音唤醒开启方法
- 05-07华为nova8开启恢复出厂设置教程
- 03-17PHP中类的自动加载的方法
- 01-10建行学习-建行学习应用软件功能介绍
- 11-26华为手机如何取消安全检测
- 04-01红米k40pro+超级省电开启教程