假如忘记mysql的root 密码是什么之后如何修改密码
我的mysql是自己源码安装的,mysql.server存放在/usr/local/mysql/support-files文件当中
1、先关闭mysql
$ /usr/local/mysql/support-files/mysql.server stop
2、修改my.cnf配置文件,文件路径是/etc/my.cnf
$ echo skip-grant-tables >> /etc/my.cnf
$ cat /etc/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
skip-grant-tables
3、启动mysql
$ /usr/local/mysql/support-files/mysql.server start
4、进入mysql
$ mysql
5、刷新权限
mysql> flush privileges;
6、修改密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("123");
7、登陆测试
$ mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
密码设置完毕
8、注释掉my.cnf的修改,避免重启时无密码就可登陆
[mysqld]
$ vim /etc/my.cnf
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# skip-grant-tables