MySql Error 1698(28000)问题的解决方法
MySQL Error 1698(28000):Root用户访问被拒绝的问题及解决方案
一、问题描述
新安装了mysql-server-5.7后,遇到了一个问题:普通用户无法登录MySQL,只有root用户能登录,而且不需要密码。在尝试以root用户身份登录时,却出现了ERROR 1698 (28000):用户'root'@'localhost'的访问被拒绝。
二、解决方案
为了解决这个问题,我们可以按照以下步骤进行操作:
1. 停止mysql服务。使用命令:`sudo service mysql stop`。
2. 然后,以安全模式启动MySQL。执行命令:`sudo mysqld_safe --skip-grant-tables &`。这样启动MySQL后,就可以不用密码登录了。
3. 登录后,进入MySQL监视器。命令如下:`mysql -u root`。
4. 查看user表,了解错误的根源。执行命令:`select user, plugin from mysql.user;`。在这里,你会发现root的plugin被修改成了auth_socket,而用密码登录的plugin应该是mysql_native_password。
关于auth_socket的说明,在官方文档中有详细描述。但现在我们暂时不需要使用它,所以我们需要对其进行修改。
解决方案是,将root用户的plugin改回mysql_native_password。可以使用以下命令:
`UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root';`
然后,刷新权限以使更改生效:
`FLUSH PRIVILEGES;`
重启MySQL服务:
`sudo service mysql restart`
现在,你应该能够使用root用户和密码正常登录MySQL了。
当你遇到MySQL错误代码为Error 1698(28000),导致无法使用root用户登录时,这个问题可能会让你感到困扰。不过别担心,长沙网络推广为你提供了解决方案。你需要更新mysql.user表中的认证字符串和插件设置。具体操作如下:
在MySQL命令行中输入以下命令:
```sql
UPDATE mysql.user SET authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password' WHERE user='root';
```
然后执行以下命令刷新权限设置:
```sql
FLUSH PRIVILEGES;
```重启MySQL服务后,问题通常就能得到解决。你可以通过以下命令重启服务:首先停止服务,再启动服务。接着使用root用户登录MySQL查看是否成功解决问题。具体操作如下:
```bash
sudo service mysql stop 停止MySQL服务命令
sudo service mysql start 启动MySQL服务命令
mysql -u root -p 登录MySQL命令,输入你的密码即可进入MySQL监控界面查看结果。
```当看到MySQL Community Server启动成功的消息后,你就可以尝试使用新的密码登录了。这个解决方案应该能帮助你解决问题。如果你还有其他疑问,请随时留言,长沙网络推广会及时回复你的。感谢大家对狼蚁SEO网站的支持!你的成功使用将有助于我们不断完善我们的服务和推广内容。欢迎继续我们的其他优化技巧和知识分享! 以下是Cambrian渲染的主体内容部分(用代码表示):
```javascript
Cambrian.render('body'); //渲染主体内容部分的代码片段,具体的渲染逻辑由Cambrian框架实现。
```以上就是关于MySQL错误代码Error 1698(28000)的解决方法介绍,希望对你有所帮助。
编程语言
- MySql Error 1698(28000)问题的解决方法
- PHP获取短链接跳转后的真实地址和响应头信息的
- c#生成缩略图不失真的方法实例分享
- HTTP头隐藏PHP版本号实现过程解析
- js每隔两秒输出数组中的一项(实例)
- 14个有用的Jquery技巧分享
- php四种定界符详解
- 设置默认Ajax操作cache and error
- Angularjs实现下拉框联动的示例代码
- VS2017添加EF的MVC控制器报错的解决方法
- Mysql主从复制作用和工作原理详解
- PHP之生成GIF动画的实现方法
- 微信小程序 欢迎页面的制作(源码下载)
- Laravel框架路由管理简单示例
- js获取浏览器地址(获取第1个斜杠后的内容)
- PHP简单计算两个时间差的方法示例