在装置完 MySQL 或者是在应用 MySQL 时,最难堪的就是遗记明码了,墨菲定律也通知咱们,如果一件事有可能出错,那么它肯定会出错。那如果咱们不小心遗记了 MySQL 的明码,该如何解决呢?别着急,本文教你一招搞定。
1. 批改 MySQL 配置文件
首先咱们须要关上 MySQL 的配置文件,如果是 Windows 零碎的话,MySQL 的配置文件是 my.ini,它在 MySQL 的默认装置目录下;如果是 MacOS 零碎的话,配置文件名是 my.cnf,它的门路是 /etc/my.cnf。
以 MacOS 为例,咱们须要 在配置文件的 [mysqld] 前面增加“skip-grant-tables”,意思是设置跳过权限验证,如下图所示:
MacOS 能够间接应用“sudo vim /etc/my.cnf”命令进行配置文件的编辑。
注意事项
在 MacOS 中如果找不到 MySQL 的配置文件,能够间接在 /etc 目录下创立 my.cnf,增加如下内容:
[client]
default-character-set=utf8
[mysqld]
bind-address = 127.0.0.1
character-set-server=utf8
skip-grant-tables
当然如果有其余配置项的话,也能够自行批改。
2. 重启 MySQL
在批改完配置文件之后,咱们须要重启 MySQL 服务能力让配置失效。
如果是 Windows 零碎,咱们能够先敞开再启动 MySQL,执行命令如下:
net stop mysql
net start mysql
如果是 Linux 零碎,能够间接应用命令重启:
service mysql restart
如果是 Mac 零碎,可通过界面进行重启操作,如下图所示:
3. 设置新密码
重启服务之后咱们就能够通过命令行工具来设置 MySQL 的新密码了,首先 咱们输出“mysql -u root -p”命令来连贯 MySQL 服务器,当呈现输出明码框时间接敲回车就能够登录了,如下图所示:
接下来咱们再应用以下命令来设置新的明码:
update user set password=password(‘ 新密码 ’) where user=’root’;
flush privileges;
quit
注意事项
如果在执行该步骤的时候呈现 ERROR 1290 (HY000): The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement 谬误。则须要先执行下 flush privileges
命令,再执行其余命令即可。
最初
当咱们设置完新密码之后,记得要把 MySQL 配置文件中的“skip-grant-tables”(跳过权限验证)去掉,而后再重启 MySQL 的服务就能够失常应用了。
文末福利:搜寻公众号「Java 中文社群」发送“面试”,支付最新的面试材料。