Raspberrypi 安装完MySQL之后登录不了(ERROR 1698 (28000))
1.问题原因:
出现这是错误是因为 mysql 默认的 root 用户使用了 UNIX auth_socket_plugin 的用户认证方式,我们有下面两种方式处理问题:
- 修改 root 用户认证方式为 mysql_native_password plugin,即改为使用密码登录
- 使用系统当前的用户名创建一个数据库用户(推荐)
2.解决方案:
方法一:修改 root 用户认证方式为 mysql_native_password plugin
首先登陆MySQL使用sudo.
sudo mysql -uroot
修改MySQL-root用户的登陆方式.
USE mysql;
UPDATE user SET plugin= 'mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;
exit;
重启MySQL服务,登陆root用户.
sudo service mysql restart
mysql -u root # 初始安装并没有设置密码,所以直接就能登录了
方法二:创建新的MySQL User
Step1. Login in the mysql without passwd.
sudo mysql -uroot
Setp2. Use the mysql database to setup the new User.
use mysql;
select user,host,plugin from user;
create user 'pi'@'localhost' identified by 'mysql';
create user 'pi'@'%' identified by 'mysql';
update user set plugin='unix_socket' where user='pi';
select user,host,plugin from user;
flush privileges;

Step3. Setting the privilige of the new user.
grant all privileges on * to pi@'localhost' identified by 'mysql';
grant all privileges on * to pi@'%' identified by 'mysql';
flush privileges;
1.PrivilegesCode表示授予的权限类型,常用的有以下几种类型:
- all privileges:所有权限。
- select:读取权限。
- delete:删除权限。
- update:更新权限。
- create:创建权限。
- drop:删除数据库、数据表权限。
2.DbName.tableName表示授予权限的具体库或表,常用的有以下几种选项:
- .*:授予该数据库服务器所有数据库的权限。
- dbName.*:授予dbName数据库所有表的权限。
- dbName.dbTable:授予数据库dbName中dbTable表的权限。
3.Username@host表示授予的用户以及允许该用户登录的IP地址。其中Host有以下几种类型:
- localhost:只允许该用户在本地登录,不能远程登录。
- %:允许在除本机之外的任何一台机器远程登录。
- 192.168.52.32:具体的IP表示只允许该用户从特定IP登录。
- password指定该用户登录时的页面。
- flush privileges表示刷新权限变更。
Step4. Check the privilige of the user.
show grants for 'pi';

Delet a User :
drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。
drop user 'pi'@'%';
3.参考文献:
1.ERROR 1698 (28000)Access denied for user 'root'@'localhost': http://www.mamicode.com/info-detail-2491371.html
2. MySQL用户管理:添加用户、授权、删除用户:https://www.cnblogs.com/pejsidney/p/8945934.html
3.MySQL用户管理 :http://www.cnblogs.com/chanshuyi/p/mysql_user_mng.html
Raspberrypi 安装完MySQL之后登录不了(ERROR 1698 (28000))的更多相关文章
- centos7 上安装mysql5.7后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Yes 或者No)
原文转载自以下链接:https://blog.csdn.net/keepd/article/details/77151006 安装完mysql后会有个临时密码去日志查看,但是查看登录修改密后还是不行 ...
- 密码正确 mysql无法登陆 red7.3 上安装mysql5.6后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passswd :yes)
集群需要mysql存储元数据,就在前几天还运行好好的,突然就进不去了......还是太菜,遇到的bug少. 引起这种故障的原因有很多......第一个坑比较多,大部分用户也就用第一个就可以解决问题,我 ...
- 安装完 MySQL 后必须调整的 10 项配置(转)
英文原文:10 MySQL settings to tune after installation 译文原文:安装完 MySQL 后必须调整的 10 项配置 当我们被人雇来监测MySQL性能时,人们希 ...
- 安装完MySQL数据库设置密码
对于windows平台来说安装完MySQL数据库后,系统就已经默认生成了许可表和账户,你不需要像在Unix平台上那样执行 mysql_install_db脚本来生成帐户和相应权限许可表.但是如果不是用 ...
- 解决mysql登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题
问题描述: 在ubuntu14.04上安装完MYSQL后,MYSQL默认给分配了一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误. 报错信息:Access denied ...
- CentOS命令登录MySQL时,报错ERROR 1045 (28000):
CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解 ...
- mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user 'mhz'@'localhost' (using password: YES)
mysql全局权限账户%登录不上ERROR 1045 (28000): Access denied for user 'mhz'@'localhost' (using password: YES) 解 ...
- mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))
mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost')) 解决步骤: [====> ...
- Ubuntu下使用mysqli-connect连接mysql时报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
LNMP安装好后,写了个index.php文件,里面的内容很简单,就是想测试php与mysql的通信是否正常,代码如下: <?php $host = 'localhost'; $user = ' ...
随机推荐
- JAVA 基础编程练习题9 【程序 9 求完数】
9 [程序 9 求完数] 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如 6=1+2+3.编程找出 1000 以内的 所有完数. package cskaoyan ...
- Java集合(1):Collections工具类中的static方法
与Arrays一样,Collections类中也有一些实用的static方法. (1) 排序操作 reverse(List list):反转指定List集合中元素的顺序 shuffle(List li ...
- three.js 之 透明物体不能正常显示
这几天遇到一个需求,类似这个案例:http://www.hightopo.com/demo/FaultDetection/ 就是这个透明渐变呼吸光柱,看到之后就想着写个shader材质实现透明度渐变, ...
- Jenkins - Tips
01 - RPM包安装方式 默认路径 配置文件:/etc/sysconfig/jenkins 日志文件:/var/log/jenkins/jenkins.log 执行文件:/usr/lib/jenki ...
- 【计算机视觉】TPAMI的Editors
写了一篇文章准备试试TPAMI,没指望中,就当听听意见也好,让选两个Editors (2 preferred editors required),于是调研了一下这些人都是做什么的,有同行路过请评价补充 ...
- nRF5 SDK Bootloader and DFU moudles(2)
镜像的验证 在执行设备固件更新之前,应验证新映像. 在传输实际固件(预验证)之前,可以检查某些信息(例如,兼容性). 其他信息,例如图像的散列,应在传输(验证后)后进行验证. Init packet ...
- teach-es6-2(class)
1 属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. var foo = 'bar'; var baz = {foo}; baz // {foo: &quo ...
- 3道入门字典树例题,以及模板【HDU1251/HDU1305/HDU1671】
HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意:求得以该字符串为前缀的数目,注意输入格式就行了. #include<std ...
- Oracle数据库弱口令解密
1.首先我们先看下Oracle加密的格式. 接下来我们把他头和尾部删除,中间加: 通过py脚本来进行完成 转换完成后输出成这种格式 之后直接丢进kali里面,用john --w=字典文件 + 转换文件 ...
- java集合List解析
作为一个Developer,Java集合类是我们在工作中运用最多的.最频繁的类.相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求: Java集合就像一个容器,可以存储任何类型的数 ...