文章目录
- 一、修改my.cnf配置文件为mysql免登陆
- 二、免密登陆mysql
- 三.给root用户重置密码
- 1、首先查看当前root用户相关信息,在mysql数据库的user表中
- 2、把root密码置为空
- 3、退出mysql,删除/etc/my.cnf文件中添加进去的skip-grant-tables 重启mysql服务
- 4、使用root用户进行登陆
- 5、修该密码
一、修改my.cnf配置文件为mysql免登陆
输入如下命令进入my.cnf文件
vim /etc/my.cnf
点击键盘字母i
进入编辑模式,在[mysqld]下任意一行插入skip-grant-tables
,然后点击Esc按键退出编辑模式,接着输入:wq
保存并退出文件。
然后重启mysql服务service mysqld restart
二、免密登陆mysql
输入mysql -u root -p 回车
三.给root用户重置密码
1、首先查看当前root用户相关信息,在mysql数据库的user表中
desc user;
host:允许用户登陆的ip‘位置’%表示可以远程;
user:当前数据库的用户名;
authentication_string:用户密码;在mysql 5.7.9以后废弃了password字段和password()函数;
plugin:密码加密方式;
2、把root密码置为空
如果当前root用户authentication_string字段下有内容,先将其设置为空
依次输入如下命令,进行root密码置空;
use mysql;
update user set authentication_string =’’ where user =“root”;
3、退出mysql,删除/etc/my.cnf文件中添加进去的skip-grant-tables 重启mysql服务
输入quit
命令退出mysql,接着输入vi /etc/my.cnf
命令删除添加进去的skip-grant-tables
4、使用root用户进行登陆
输入mysql -u root -p
回车paaword:直接回车;
5、修该密码
alter user 'root'@'%' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXX';
或者 alter user 'root'@'localhost' identified with mysql_native_password by 'xxxx';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'XXX'
root@后面是user表的Host字段的内容,新安装默认是localhost, 因为在这增加了远程访问,所以将localhost手动改成了%。
改完之后可执行:flush privileges;
( 重新加载权限表 )
flush privileges;
附:mysql8.0之后的版本,下面方法已经不适用。切记!!!
UPDATE user SET password=PASSWORD("新密码") WHERE user='用户名';