MySQL使用小技巧
1)忘记密码:
参考:https://www.jb51.net/article/108609.htm
https://www.cnblogs.com/lemon-flm/p/7597879.html
https://www.v2ex.com/amp/t/333539
https://blog.csdn.net/hu721659947/article/details/80527069
如果你忘记了密码,怎么办?
我们可以打开 /etc/my.cnf 文件,在文件最下面里写入:
skip-grant-tables
保存退出就可以了,然后记得重启!!!
然后就可以不用输入密码就进入了,然后进入之后修改密码!!!
如果你修改密码的时候报这个错:
Operation ALTER USER failed for 'root'@'localhost'
或者这个错:
The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
别慌,这个是因为你使用了远程连接,还记得你把mysql数据库的user表的localhost改为%吧,表示任意连接,但是不安全,
就是因为你改了这个,你只要把他改回去:localhost root,然后还是那条命令:
ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
就可以了,如果还不行的话,你就先 flush privileges;然后再修改。
2)打印操作日志:
进入到mysql数据库,实行这个命令:
set global general_log_file='/tmp/general.log';
然后再开启他:
set global general_log=on;
然后就设置完成了,然后你就可以根据你设置的文件路径查看你实行命令的日志文件:
sudo tail -f /tmp/general.log
3)添加用户:
进入mysql,实行命令:
create user 'jin'@'%' identified by 'Jin.123456';
这样就添加了一个账号为jin,密码为Jin.123456,允许外部连接的帐号。
但是这样的一个子账号权限有限,所以我们想赋予他这个子账号的权限的话:
grant all privileges on *.* to 'jin'@'%' identified by 'Jin.123456' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'imooc'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;