mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方式

发布时间:2018-11-15  栏目:MySQL  评论:0 Comments

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

mysql ERROR 1045 (28000)– Access denied for user解决措施,28000denied

 问题讲述(以下讨论范围就限Windows环境):

  D:\develop\ide\mysql\mysql5.5\bin> mysql -u root -p
  Enter password:
  ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using
password: NO)

 

第一步:编辑mysql安装目录中之配备文件my.ini,在[mysqld]此条款下入
skip-grant-tables
如下图:

图片 1

保存退出后

第二步:重启mysql

重复开步骤如下:

1.进去任务管理器,查看mysqld.exe是否在运转,运行吧,kill掉;
2.找到mysql安装目录下之bin文件夹,然后找到mysqld.exe文件,双击运行后,再次进入任务管理器查看mysqld.exe是否运行,确认已经运转后,双击mysql.exe文件即可

第三步: 重置本地mysql库的密码
在cmd里面,进入到D:\develop\ide\mysql\mysql5.5\bin目录下,输入mysql
-u root
-p
,就足以毫不密码登录了,出现password:的当儿一直回车可以进入,不会见现出ERROR
1045
(28000),但广大操作都见面为限制,因为无权力。所以需要以下的流程走(革命部分吗输入有,桔色的是推行后出示的代码):
1.进入mysql数据库:
   mysql> use mysql;
   Database changed

2.被root用户安装新密码,红色粗体部分用自己输入:
mysql> update user set password=password(“新密码“) where
user=”root”;
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

3.刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

4.退出mysql:
mysql> quit
Bye

 

第四步:恢复my.ini文件
改好之后,再修改一下my.ini是文件,把我们刚刚加入的“skip-grant-tables”及时行去,封存退出又重复开mysql就是足以了。

 

http://www.bkjia.com/Mysql/1309084.htmlwww.bkjia.comtruehttp://www.bkjia.com/Mysql/1309084.htmlTechArticlemysql ERROR 1045 (28000)– Access denied for
user解决措施,28000denied 问题讲述(以下讨论范围只限Windows环境):
D:\develop\ide\mysql\mysql5.5\bin mysql -u ro…

图片 2

安好后,登录mysql的上便应运而生了之类错误:

图片 3

因设置之长河中绝非让设置密码,可能密码也空,但好歹都进无失去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

作用就是是吃你可不用密码登录上mysql。

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

 

step2:在终点上输入mysql -uroot
-p,遇见输入密码的唤起一直回车即可,进入mysql后,分别执行下三句子话:

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

结果要下图:

图片 4

下一场输入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

重新回去终端输入mysql -uroot -p,应该就足以进去数据库了。

 

step4:如果此刻要报出错误,那么即使待回到step3中,把注释掉的那么条告词再度生效(就是去#记),重新入mysql中,先选一个数据库(use
mysql),然后输入select user,plugin from user,看下图:

图片 5

于图被好观看于实践了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用户的字段改成功了。

图片 6

 

说到底quit退出。返回执行step3。

那这题目即了解决了。

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

 

留下评论

网站地图xml地图