第一种:
1、打开mysql配置文件/etc/my.cnf在【mysqld】下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。
2、service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。
3、mysql -uroot -p //此时直接回车,既可以进入数据库
出现mysql>就说明你已经进入到mysql数据库里了。
4、进数据库后,use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。
5、show tables //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。
6、desc user //查看下user表有哪些字段。
7、update user set password=password('123456') where user="root"; //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。
有些数据要执行update user set authentication_string=password('coship') where user="root";才行
8、flush privileges; 刷新下密码,使更改的生效。
9、exit //退出数据库。
10、退出数据库,重新登录
mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。
密码的长度是由validate_password_length决定的,但是可以通过以下命令修改
set global validate_password_length=4;
validate_password_policy决定密码的验证策略,默认等级为MEDIUM(中等),可通过以下命令修改为LOW(低)
set global validate_password_policy=0;
修改完成后密码就可以设置的很简单,比如1234之类的。
然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。