如果忘记了MySQL的密码
1.关闭MySQL服务
[[email protected] ~]# service mysqld stop
2.修改服务启动脚本,添加--skip-grant-tables --skip-networking字段跳过授权表和网络
[[email protected] ~]# 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了