mysql5.7开启genelog并且创建新用户,找回root账户密码

①进入mysql命令行

set global general_log_file="/tmp/general.log";    #设置genelog位置文件

set global general_log=on;     #开启

测试;

mysql5.7开启genelog并且创建新用户,找回root账户密码

sudo tail -f /tmp/general.log    查看执行过的sql语句

 

②新建用户

set global validate_password_policy=0;    #设置级别

set global validate_password_length=0;   #设置长度

create user '用户名'@'%' identified by '密码';   #创建用户

这个时候外部通过这个用户可连接mysql数据库,但是没有权限

grant all privileges on *.* to 'pzl'@'%' identified by 'pzl123456' with grant option;   #赋予权限

flush privileges;      #更新权限

这时候链接数据库就能和root看到全部数据库了

回收权限   revoke all privileges on *.* from pzl;    

flush privileges;      #更新权限

③找回密码

sudo vim /etc/my.cnf     #打开mysql配置文件加一句话

            skip-grant-tables

mysql5.7开启genelog并且创建新用户,找回root账户密码

sudo service mysqld restart    #重启mysql服务

此时进入mysql 不需要输入密码

update user set authentication_string = password('密码') where user = 'root';   #修改密码

flush privileges;

然后重启mysql服务 

密码修改成功