MYSQL忘记root用户密码

1.关闭MYSQL数据库

service mysql stop

2.进入安全模式

mysqld_safe --skip-grant-tables
mysqld_safe --skip-grant-tables --skip-networking
(下面这一句同时禁止远程访问)

3.登录MYSQL(用另一个命令行登录)

mysql -p  直接回车

4.修改MYSQL密码:如果MYSQL5.6则参考《RPM方式安装MySQL5.6》修改

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
flush privileges;
quit;

5.关闭安全模式的命令行

6.重启MYSQL并登录

service mysql restart
mysql -uroot -p

7.输入任何MYSQL命令如果出现以下错误:

ERROR 1820 (HY000): You must SET PASSWORD before executing this statement 

则用以下命令进行再次修改密码

SET PASSWORD = PASSWORD('123456'); 

8.完成密码修改正常使用

9.配置远程登录

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;
quit;

10.如查启用了防火墙则打开3306端口:

/etc/sysconfig/iptables文件中加入以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙后便可远程访问

service iptables restart;



你可能感兴趣的:(mysql)