首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
windows环境:
1、以系统管理员身份登陆系统。
2、打开CMD窗口,输入命令:net stop MySQL 停止Mysql运行。
3、CMD下进入MySQL的bin目录下后,通过命令跳过权限检查启动MySQL:
MySQLd-nt –skip-grant-tables
5、打开新cmd窗口,进入bin目录下,输入目录:
MySQLadmin -u root flush-privileges password "newpassword"
MySQLadmin -u root -p shutdown //提示重新输密码。
6、输入并执行net start MySQL启动Mysql。
附:MySQL4.1以上版本密码错误问题的一种解决方法
1、# SET PASSWORD FOR 'user'@'host' = OLD_PASSWORD('newpassword');
2、# FLUSH PRIVILEGES;
3、MySQL数据库修复
myisamchk -r -q d:\MySQL\data\latin1\*
r 代表修复
q 代表快速
* 代表数据库里的所有文件
Linux环境:
1、停止mysql服务:
/etc/init.d/mysql stop
2、取消权限验证,启动mysql daemon服务:
mysqld_safe --skip-grant-tables &
3、登录:
mysql -uroot
4、修改root帐号密码:
mysql> use mysql;
mysql> update user set password=password("newpassword") where user="root";
mysql> flush privileges;
mysql> quit;
5、重启mysql。
来源:https://www.cnblogs.com/newdingyue/p/4244103.html