太长时间没有登录服务器,不知道为什么mysql登录,不成功报ERROR 1045(28000)
后来发现mysql.user里root信息不存在
解决方法
1.修改配置文件 vim /etc/my.cnf 在该文件中添加[mysqld] 里任意一行添加skip-grant-tables
2.重新启动mysql service mysql restart
3.登录mysql 输出mysql命令
登录成功
4.show databases 选择mysql 命令use mysql
5.查询是否有root用户 select user,host from user;
6.若没有执行命令
执行 flush privileges
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' %代表所有权限
再执行 flush privileges,成功后quit退出;
root用户就添加进去了
7.最后记得删除/etc/my.cnf 添加的不需要密码登录的命令,在重新起动,用mysql uroot -p 命令登录填写下密码就可以了
还可以通过修改配置文件这个方法直接修改用户密码,不需要登录,
修改密码命令 update mysql.user set authentication_string=PASSWORD(12345678) where User='root';