MySQL密码忘记如何处理

如果忘记了MySQL的密码
1.关闭MySQL服务
[root@localhost ~]# service mysqld stop
2.修改服务启动脚本,添加--skip-grant-tables --skip-networking字段跳过授权表和网络

[root@localhost ~]# vim /etc/init.d/mysqld

case "$mode" in
  ‘start‘)
    # Start daemon

    # Safeguard (relative paths, core dumps..)
    cd $basedir

    echo $echo_n "Starting MySQL"
    if test -x $bindir/mysqld_safe
    then
      # Give extra arguments to mysqld with the my.cnf file. This script
      # may be overwritten at next upgrade.
      $bindir/mysqld_safe --skip-grant-tables --skip-networking --datadir="$datadir" --pid-file="$mysqld_pid_file_path
" $other_args >/dev/null 2>&1 &
      wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?

3.启动服务,连接MySQL,就不需要输入密码了
4.更改root密码,提示跳过授权表的无法更改密码,所以只能更改文件
mysql> SET PASSWORD FOR ‘root‘@‘localhost‘=PASSWORD(‘123456‘);
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> UPDATE user SET PASSWORD=PASSWORD(‘123456‘) WHERE User=‘root‘;
Query OK, 3 rows affected (0.00 sec)

5.密码更改完成之后,关闭MySQL服务,修改MySQL启动脚本,启动MySQL服务
6.客户端就可以使用新密码登陆MySQL了

本文出自 “梅花香自苦寒来” 博客,请务必保留此出处http://wangjunkang.blog.51cto.com/8809812/1586081

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。