一、说明
项目部署环境是linux,今天我一同事在Linux装了个mysql数据库,我问了她要连接账号密码,于是使用Xshell连接到Linux终端,在命令终端本地localhost连接mysql的时候却一直连接不上,操作mysql -uroot -p,输入密码后回车,提示
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
账号密码都是没问题的,Linux终端本地localhost直接连接mysql,也不涉及远程访问、防火墙等问题,就想着出现这个提示要么用户root密码错误,要么用户root没有本地授权。
显然,我的是后者,网上说,给root用户本地localhost授权即可
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'rootpassword' WITH GRANT OPTION;
命令是这样的,没有错,那么问题来了,关键是我现在连接都连不上mysql,怎么执行。
这时我想到用--skip-grant-tables跳过安全检查,不用密码直接连接mysql,再去执行授权指令即可,具体参见以下章节。
二、跳过检查
2.1 修改配置
#vi /etc/my.cnf
'I'键进入插入模式,在[mysqld]后面(临时,后面配置好后要删掉)添加一行配置
skip-grant-tables
Es