MySQL Error number: MY-010453; Symbol: ER_INIT_ROOT_WITHOUT_PASSWORD; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010453; Symbol: ER_INIT_ROOT_WITHOUT_PASSWORD; SQLSTATE: HY000
Message: root@localhost is created with an empty password ! Please consider switching off the –initialize-insecure option.
错误说明:
MY-010453 (ER_INIT_ROOT_WITHOUT_PASSWORD) 是MySQL的一个在初始化根用户时经常报出的错误。当使用mysqladmin初始化根用户时,以下错误提示将会出现:Error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’.
常见案例
使用mysqladmin初始化根用户时,若未设置密码,控制台上将出现以上错误提示。这个错误表明MySQL拒绝了一个名为root的用户连入数据库,因为该用户没有设置密码。
解决方法:
1. 使用临时密码:首先,可以在mysql.log文件中查看初始化过程中的临时密码,然后使用该密码登陆Mysql处理器并修改密码;
2. 使用skip-grant-tables 加载模式:在my.ini文件中添加skip-grant-tables,并重启MySQL,登陆mysql处理器,可以直接修改root用户的密码;
3. 使用init_file初始化:在此方法中,可以使用指定的文件初始化MySQL,并为根用户设置密码。可以在my.ini文件的[mysqld]段中添加参数init_file=来配置,其中指相应的初始化文件路径;
4. 重装MySQL:如果根用户的密码忘记或丢失,可以尝试重装整个mysql,在重新安装的过程中,可以设置根用户的登录密码;
5. 使用更安全的登录方式:MySQL从8.0版本以后,加入了可替代登录密码的登录认证方法,比如通过登录凭证文件,或动态身份验证。这些方法并不需要提供明文密码,提升了用户登录安全性。