好久的一台服务器,mysql root密码忘记了。
1.找到my.cnf文件,在在[mysqld]的段中加上一句:skip-grant-tables ,重启数据库。
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
2.登录数据库,修改密码
mysql -u root –p
mysql>use mysql;
mysql>update user set password=PASSWORD(‘123456’) where User='root';
mysql>flush privileges;
3.修改权限
//赋予任何主机访问数据的权限
mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ WITH GRANT OPTION
修改root远程权限时,如果报这个错,先flush privileges在操作就可以了。
ERROR 1290 (HY000): The MySQL server is running with the –skip-grant-tables option so it cannot execute this statement
4.改回my.cnf配置文件
在skip-grant-tables从my.cnf文件中删除,重启数据库。就可以用刚才修改的密码登录了。