前因后果
问题:
使用命令行连接数据库的时候,报出异常提示信息,大致就是连接不上数据库之类的。
第一解决方案:
1.修改参数,跳过数据库密码验证。
在[mysqld]下方添加“skip-grant-tables”参数跳过密码验证阶段
修改保存之后,重启myslq服务。
2.以空密码连接数据库,修改密码。
正常修改三部曲:
使用命令行登陆进数据库
mysql.exe -u root -p
// 输入生成的密码
1)show databses; //查看所有数据库
2)use mysql; //使用mysql数据库,接下来的语句是针对“mysql”这个数据库进行操作
3)update user set password=‘password’ where user=‘root’; //把root的密码修改为”password“
正常情况下,显示的数据库应与下图基本一致
但是,在使用:“show databses;”查询之后,显示出来的数据库明显更少。大致只有下图显示的几个了。
连“mysql”这个数据库都不存在了,后续的操作肯定也无法进行了。
没有办法,第一种解决方法宣布无法解决,只能各方请教了。。。
最终解决方法:
1.安装navicat,连接异常的数据库,检查用户的权限是否正常。
检查后,发现root账号的权限已经全部未设置。
2.修改root权限。
调整完后,修改root密码,去掉上面添加的“skip-grant-tables”参数。
3.重启数据库服务。
重启之后,一切正常。