大发体育娱乐在线-大发体育娱乐官方网站-大发体育娱乐登录网址
做最好的网站

localhost错误解决方法

来源:http://www.dfwstonefabricators.com 作者:数据库 人气:87 发布时间:2019-09-28
摘要:自家的操作系统是ubuntu18.04,以下是本身的mysql版本: windowslinux下安装mysql报1045等错误 起首在windows 下安装mysql没怎么出现过难点,而在linux下安装的时候出现了一些主题材料,明天在

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

windowslinux下安装mysql报1045等错误

起首在windows 下安装mysql 没怎么出现过难点,而在linux下安装的时候出现了一些主题材料,明天在windows 安装的时候也应时而生了1045 错误,就个人经历来看那一个难点正是root顾客密码的主题素材,所以将消除的方法总括如下:

图片 1

一、mysql登录报 1045 错误

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

咱俩看到下边的这么些错误正是 user 为root host为localhost的密码十分,所以我们就要看看 mysql数据库中user表中user为root,host为localhost的这些客户的密码。

消除办法:破解mysql密码

1、 service mysqld stop

// 停止mysql服务

2、mysqld_safe --skip-grant-tables

// 在mysql的配置文件如若是linux(centos)则在etc/my.cnf配置文件的mysqld_safe 下天增加skip-grant-tables,要是在windows下则在设置目录下的my.ini 配置文件的mysqld 下加多 skip-grant-tables, skip-grant-tables是跳过授权表,那样安插之后保存 关闭,重新起动mysql服务

3、 mysql -uroot -p 回车

// 这样就进去了,这里有七个难点,也是自己赶过的二种情状,一种是user表中有user为root的客户,一种是绝非,就算有则打开如下管理:

(1)、use mysql;

// 使用mysql数据库

(2)、 delete from user where host="localhost" and user=" ";

// 将host为localhost下的user为空的顾客都删了,其实也足以把那边localhost改成 % 免得未来连接的时候总是不了,不过是后话在此间该不该都得以。

(3)、 update user set password=PASSWORD("newpass") where user="root";
// 假使您询问一下您会发觉 mysql中的密码是加密保存的,所以修改密码无法向经常的sql一样而要使用password("新密码")关键字来修改密码,新密码为password中的字符。

(4)、 flush tables;

//数据刷到磁盘

(5)、 flush privileges;

//更新权限

(6)、quit

//退出

(7)、将配置文件中 skip-grant-tables 注释/删掉 保存

(8)、service mysqld restart

// 再度运转服务 mysql -uroot -p新密码回车 ,那样应有能够了

设置到位后,登陆mysql的时候就涌出了如下错误:

二、 接着上面3、mysql -uroot -p 回车 步向之后use表中不多,即开立root顾客做如下管理:

首先种状态,正是user中有root客商可是连接不上是在windows下遇到的,而user中怎么着都没有是在linux(centos) 下碰着的,具体管理如下:

在linux下安装了mysql之后现身谬误,刚开端认为正是首先种这种气象,网上海高校多也都是那类小说于是就根据那篇小说实行了退换:linux下mysql 初次登录修改密码 修改将来应该准确,但再也启航服务root登入照旧特别,上边包车型客车就是出现的难题和减轻进度:

1、查询看有没有user 为root的客商,或这说user中有未有客商。

mysqld_safe--skip-grant-tables&mysql-uroot mysql
mysql> select * from user;
Empty set (0.00 sec)
mysql> select USER();
+--------+
| USER()|
+--------+
| [email protected] |
+--------+
1 row in set (0.00 sec)

结果是不曾root顾客,user表里面是空的,照旧第二回碰到这种难题的。

2、插入客商音信到 user表
由于 mysqld_safe --skip-grant-tables里面是不能用grant的,于是想到了手动insert插入root客商:

**为了我们有利这里提供一些证实:第贰个值是host,第三个为user这两项是必填项,password("my_password")这里开展密码的装置,MY_PASSWO奥德赛D 正是新设的密码 ,而'Y'有二十七个,之后有1个enum和3个blob 可感到空,也正是这里的4个空字符,int类型有4个,默许值为0

INSERTINTO user VALUES('%','root',password('MY_PASSWORD'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0)

此处要注重的是第三个字段密码处要用password('密码'),因为mysql中密码是要通过编码的,不是直接字符串保存的。

3、接着在杀死全体mysql进度,之后寻常重启mysql,就可以用root顾客登陆

到近期个人就凌驾的主题材料总的就那二种,希望对您有用!!

曾在windows 下安装mysql 没怎么冒出过难点,而在linux下安装的时候出现了部分主题素材,今天在windows 安装的时...

图片 2

因为安装的长河中没让设置密码,恐怕密码为空,但无论如何都进不去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  然后敲回车

结果如下图:

图片 3

接下来输入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,看下图:

图片 4

从图中能够看出在执行了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顾客的字段改成功了。

图片 5

 

末段quit退出。重回实践step3。

那就是说那个主题素材就完全化解了。

参照链接:

 

本文由大发体育娱乐在线发布于数据库,转载请注明出处:localhost错误解决方法

关键词:

上一篇:中的常用工具,开辟晋级篇体系

下一篇:没有了

最火资讯