mysql出现ERROR1698(28000):Access denied for user [email protected]错误解决方法

https://www.cnblogs.com/cpl9412290130/p/9583868.html

我的操作系统是ubuntu18.04,以下是我的mysql版本:

安装完成后,登录mysql的时候就出现了如下错误:

因为安装的过程中没让设置密码,可能密码为空,但无论如何都进不去mysql。

那么该怎么做呢,接下来就将这个解决方法总结记录一下。

step1:在ubuntu的terminal(也即终端)上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。

 1 [mysqld]
 2 #
 3 # * Basic Settings
 4 #
 5 user              = mysql
 6 pid-file          = /var/run/mysqld/mysqld.pid
 7 socket           = /var/run/mysqld/mysqld.sock
 8 port              = 3306
 9 basedir          = /usr
10 datadir          = /var/lib/mysql
11 tmpdir          = /tmp
12 lc-messages-dir   = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 skip-grant-tables    <-- add here

作用:就是让你可以不用密码登录进去mysql。

保存:wq,退出。输入:service mysql restart,重新启动mysql。

step2:在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql后,分别执行下面三句话:

1 use mysql;   然后敲回车
2 update user set authentication_string=password("你的密码") where user="root";  然后敲回车
3 flush privileges;  然后敲回车

结果如下图:

然后输入quit,退出mysql。

step3:重新进入到mysqld.cnf文件中去把刚开始加的skip-grant-tables这条语句给注释掉。

 1 [mysqld]
 2 #
 3 # * Basic Settings
 4 #
 5 user              = mysql
 6 pid-file          = /var/run/mysqld/mysqld.pid
 7 socket           = /var/run/mysqld/mysqld.sock
 8 port              = 3306
 9 basedir          = /usr
10 datadir          = /var/lib/mysql
11 tmpdir          = /tmp
12 lc-messages-dir   = /usr/share/mysql
13 skip-external-locking
14 character-set-server=utf8
15 collation-server=utf8_general_ci
16 # skip-grant-tables    <-- add # here

再返回终端输入mysql -u root -p,应该就可以进入数据库了。

step4:如果此时还是报出错误,那么就需要返回step3中,把注释掉的那条语句重新生效(就是删除#符号),重新进入mysql中,先选择一个数据库(use mysql;),然后输入select user,plugin from user;,看下图:

从图中可以看到在执行了select user,plugin from user;后,错误原因是因为plugin root的字段是auth_socket,那我们改掉它为下面的mysql_native_password就行了。输入:

1 update user set authentication_string=password("ln122920"),plugin=‘mysql_native_password‘ where user=‘root‘;

然后回车执行以下,再输入select user,plugin from user;回车,我们能看到root用户的字段改成功了。

最后quit退出。返回执行step3。

那么这个问题就完全解决了。

参考链接:http://www.cnblogs.com/py1612919884/p/9327015.html

原文地址:https://www.cnblogs.com/chengfengchi/p/11621687.html

时间: 2024-10-07 04:17:40

mysql出现ERROR1698(28000):Access denied for user [email protected]错误解决方法的相关文章

9-Ubuntu中mysql出现ERROR1698(28000):Access denied for user [email&#160;protected]错误解决方法

卸载原先的MySQL,重新安装过程中没有提示设置密码, 当键入命令:mysql -uroot -p; 不知密码是什么,输入主机的密码以及不输入密码,回车后都出现标题错误. 寻找多篇相关博文,验证如下博文真实有效!! https://www.cnblogs.com/cpl9412290130/p/9583868.html 原文地址:https://www.cnblogs.com/summer1019/p/11018493.html

mysql Access denied for user [email&#160;protected]错误解决方法总结(转)

mysql Access denied for user [email protected]错误解决方法总结(转) mysql Access denied for user \'root\'@\'localhost\'”解决办法总结,下面我们对常见的出现的一些错误代码进行分析并给出解决办法,有需要的朋友可参考一下. 错误代码 1045 Access denied for user 'root'@'localhost' (using password:YES) 解决办法是重新设置root用户密码,

mysql Access denied for user [email&#160;protected]错误解决方法

C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决方法: 编辑mysql配置文件my.ini(在mysql的安装目录下,我的在D:\Program Files\MySQL\MySQL Server 5.0\my.ini),在[mysqld]这个条目下加入 skip-grant

Ubuntu下连接mysql出现 ERROR 1698 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39;错误解决方法

ubuntu版本:18.04    mysql版本:5.7.24 ubuntu安装mysql后用root账户登入会出现问题:ERROR 1698 (28000): Access denied for user 'root'@'localhost' 可能是因为初始密码为空:按空格回车后还是报一样的错 这样就只能使用debian-sys-maint账户修改root账户密码了. debian-sys-maint账户是安装mysql时系统自动生成的mysql用户,debian和ubuntu系统都会这样做

ERROR 1045 (28000): Access denied for user &#39;ODBC&#39;@&#39;localhost&#39;的解决方法

[mysql]ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost'的解决方法 在安装完MySQL并添加环境变量之后 由于在MySQL安装过程中设置了密码,导致直接在cmd中登陆出现了上面问题, 解决方式: 正确的cmd登陆命令应该如下所示(红字部分):之后会提示输入密码 即可进入MySQL C:\users\Laoyu_>mysql -u root -p Enter password: ******(输入你的密码) (图见附件

安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user [email&#160;protected] (using password: NO)的解决方案

本机是centos 6.5  安装的mysql是5.1的版本. 在安装mysql之后,第一次启动mysql服务的时候,需要/tmp有777(rwxrwxrwx)的权限,然而楼主的/tmp是755(rwxr-xr-x)的,[其实默认的是777,我因为之前误删过tmp,然后自己建的tmp,而权限没跟着改,小白的悲伤,说多了都是泪= =]所以如果不知道这个坑的话,第一次基本会出错.这个时候再修改/tmp已经迟了, 所以只能重新安装mysql了 由于上述原因报的错误是:ERROR 1045 (28000

【转载】 ERROR 1045 (28000): Access denied for user [email&#160;protected] (using password: NO)

来自:http://www.jb51.net/LINUXjishu/10981.html 错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.删除user.user中值为NULL的,或更新NULL为test 1)delete from user where user is NULL 2)update user set user='test' where user is NULL.意外的情况: 如果上述方

ERROR 1045 (28000): Access denied for user &#39;root&#39;@&#39;localhost&#39; 的解决方法

系统:Centos 6.5 64位 Mysql:5.1.73 今天想做个数据库测试实验,居然忘记了Mysql数据的密码.于是使用安全模式启用. [[email protected] ~]# service mysqld stop    #先停止数据库 Stopping mysqld:                                           [  OK  ] [[email protected] ~]# mysqld_safe --skip-grant-tables &

ERROR 1045 (28000): Access denied for user [email&#160;protected] (using password: YES)解决办法

出现1045这个问题可以通过修改密码来解决,以下是无法登录的情况下修改密码: 在dos下进入mysql的bin目录,输入mysql -uroot -p然后输入密码还是会出现1045的错误,如下图 解决办法: 1,不要-p登录 2,执行update语句修改密码 UPDATE mysql.user SET Password=PASSWORD('新密码') where USER='root' and HOST="localhost"; 3,mysql> FLUSH PRIVILEGES